What is libjcsi

The Java Console System Interface library defines an abstract representation layer to which you can plug your application's user interface, and then choose from any of the implementations on start up, allowing your console program to be output in an array of console implementation including JCurses or an emulated terminal via swing

Download

Source and jar distribution from Google Code

JavaDoc

The javadoc can be found here

Small Implementation Example

[...]
// I instantiate a WSwingConsoleInterface; in this line I could have chosen any other implementation.
ConsoleSystemInterface csi = new WSwingConsoleInterface("libjcsi example - Santiago Zapata");
// Lets use some basic IO methods
csi.cls();
csi.print(1,1,"Hello, Hello!", ConsoleSystemInterface.CYAN);
csi.print(2,3,"This is printed using the Java Console System Interface lib. (libjcsi)");
csi.print(2,4,"Swing Console Box Implementation",ConsoleSystemInterface.RED);
csi.print(2,5,"By what name shall you be called?");
String name = csi.input(10);
csi.print(2,6,"Hi "+name+", press something...");
CharKey key = csi.inkey();
csi.print(2,7,"By the way, you pressed "+key);
// Now lets try a basic component
TextBox t = new TextBox(csi);
t.setWidth(20);
t.setHeight(10);
t.setBorder(true);
t.setPosition(5,5);
t.setText("What a horrible night to have a curse...");
t.draw();
csi.waitKey(CharKey.SPACE);
[...]

A simple roguelike as a sample

The distribution includes a modified version of the 1KBRL LUCK, a game which you can use as a sample for your own implementations

Current implementations