Achei a resposta pra sua pergunta no site que vc passou :
CHARVA is a Java framework for presenting a “graphical” user interface, composed of elements such as windows, dialogs, menus, textfields and buttons, on a traditional character-cell ASCII terminal. It has an API based on that of “Swing” (a.k.a. the Java Foundation Classes). Programmers familiar with AWT and Swing will find programming CHARVA straightforward. User interfaces can be designed on a WYSIWYG IDE, and then easily converted to CHARVA merely by changing the “import” statements to import the "charva.awt and “charvax.swing” packages instead of the standard “java.awt” and “javax.swing” packages.
Legal isso, nao sabia que existia, na verdade tinha alguem perguntando como fazer isso um tempo atras.
E mais, pelo que eu entendi eh super simples vc programa como se estivesse fazendo uma GUI em swing normal, depois eh so trocar os import de javax.swing.* pra charvax.swing.* etc etc.
Olha isso nesse trecho abaixo :
Merely by changing occurrences of “java.awt” to “charva.awt” and “javax.swing” to “charvax.swing” in the source code, the program displays the following output (captured on an xterm display). The program also reacts in the same way to user keystrokes (try compiling the two versions of the program and comparing their behavior. To switch between the tabbed panes in the CHARVA version, you have to press the F1, F2 and F3 function keys).
//Daniel