什么是适用于终端应用程序的好的Java curses库?

118

我想编写一个Java终端应用程序,可以进行屏幕操作。是否有好的库可以让您像*nix/C世界中的curses一样操纵屏幕?

我要寻找的最小功能是窗口化和用户输入支持。

从功能上讲,我想在终端中拥有一个区域,其中一些数据定期更新,同时用户可以在屏幕的其他部分输入命令/文本。

5个回答

64

Lanterna

最近我发现了 Lanterna 库,虽然还没有使用过,但它看起来比其他库更加更新。

在此输入图片描述


8
谢谢!我正在寻找一个不使用本地代码的选项。 - David Ehrmann
上次更新是4个月前。看起来这里是最近维护的解决方案。 - Thomas
Griffon 是一个应用程序框架,支持4种不同的UI工具包:Swing、JavaFX、Apache Pivot和Lanterna。 - Basil Bourque

37

有一个名为Charva的工具,它链接到本地代码,但其API基于Swing。

截图显示了许多文本窗口,看起来很有用。


不错,可惜需要本地库。我会尝试一下,看看能做到什么程度。 - Francisco Canedo
27
上次发布:2006年。 - Grzegorz Oledzki
8
@GrzegorzOledzki 更新一下...最后发布时间:2013年。 - user1316498
2
@BartSchuller 这个链接已经失效了。 - Itay Grudev

26

我个人未使用过,但是Java Curses库听起来就像你需要的。


1
听起来不错,但我想我会选择Charva,因为那会提供一个更面向对象的体验。谢谢你的建议。 - Francisco Canedo
13
Java Curses的最后一个版本发布于2002年。 - Pistos
13
Java Curses 最近受到了一些关注,并在2012年推出了新版本。 - Nate C-K
2
Java Curses 最后发布日期:2012年12月7日。 - Stephan
1
最后更新日期:2015年08月07日。请注意,此处使用本地代码。 - Jonas Czech

10

这里提供了一种使用JNI调用ncurses库的方法。我测试过,它可以正常工作。


8
截至2013年,我能找到的最接近的是Blacken
Blacken并不是一个纯粹的curses库。它远离终端,而是呈现自己的“控制台窗口”。这样做的缺点是看起来不像“控制台”。相反,您可以获得完整(任意)颜色支持和类似于curses的API(除了它们的主要API)。
您还可以将字体设置为 Mono 以获取固定宽度字符。

非常适合我想要做的事情。谢谢。 - user1316498
2
@jdersen,Blacken 中有一些 bug,但总体来说它还是相当不错的,而且开发者对已经提出的问题也会很快做出回应。 - ashes999
最新版本:2012年9月27日发布 - Stephan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接