110

I would like to write a Java terminal application that does screen manipulation. Are there any good libraries out there that allow you to manipulate the screen like curses in the *nix/C world?

Minimal features I'm looking for are windowing and user input support.

In feature-speak, I'd like to have a region of the terminal where some data is regularly updated while (at the same time) the user can enter commands/text in some other part of the screen.

Jonik
  • 77,494
  • 68
  • 254
  • 365
Francisco Canedo
  • 1,920
  • 2
  • 13
  • 16

5 Answers5

58

Lanterna

I found the Lanterna library recently. Haven't had the opportunity to use it yet but it looks like a more up-to-date alternative to the others.

enter image description here

Basil Bourque
  • 262,936
  • 84
  • 758
  • 1,028
Bryce
  • 2,097
  • 17
  • 16
38

There is Charva, which links to native code but has an api based on Swing. The screenshots show lots of text windows, so that looks useful.

Bart Schuller
  • 2,697
  • 19
  • 18
26

Haven't used it myself, but Java Curses Library sounds like what you want.

Jim Blizard
  • 4,256
  • 27
  • 37
10

Here is a way to call the ncurses lib using JNI. I tested this and it works.

DMKing
  • 1,695
  • 1
  • 10
  • 13
8

As of 2013, the closest I can find is Blacken.

Blacken is not a curses library per-se. It moves away from the terminal, and instead, renders it's own "console window." This has the disadvantage of not looking "console-like." Instead, you get full (arbitrary) colour support, and a curses-like API (in addition to their main API).

You can also set the font to Mono for fixed-width characters.

ashes999
  • 9,699
  • 14
  • 70
  • 117