在Java中获取文本用户界面(类似ncurses)功能的最佳方法是什么?

Ant*_*ony 23 java tui ncurses

我需要实现一个具有类似ncurses功能的控制台应用程序(可能是Java)(例如导航菜单和重绘整个屏幕).

到目前为止,我能找到的唯一解决方案是CHARVA("用于文本终端的Java窗口工具包"),tuipeer("用于Java AWT的文本用户界面")和一个非常古老的Dr. Dobb的文章("A Java AWT的文本UI").

到目前为止,CHARVA是我能找到的最好的东西,但我不喜欢用JNI包装诅咒的想法.

有没有标准的方法,比如AWT/Swing,这样做呢?有什么其他选择吗?

Wal*_*ski 27

自2010年以来,有Lanterna:

Lanterna是一个Java库,允许您在纯文本环境中编写简单的半图形用户界面,非常类似于C库curses,但具有更多功能.Lanterna支持xterm兼容终端和终端仿真器,如konsole,gnome-terminal,putty,xterm等等.lantern的主要好处之一是它不依赖于任何本地库,而是在纯Java中运行100%.

更多信息:https://github.com/mabe02/lanterna


sti*_*att 10

您可能希望在此处投票支持此问题:http://bugs.sun.com/bugdatabase/view_bug.do?video_id = 6351276

基本上没有好方法可以在没有JNI的情况下获得类似ncurses的功能,直到解决了这个问题.