如何在Java终端中获得当前的插入位置?

时间:2014-04-06 18:36:58

标签: java terminal

我看过JLine,Lanterna和其他人,但是我没有看到使用这些工具在终端中找到当前插入位置的简单方法。我已经查看了许多转义码,tput等等。但是,我正在寻找最简单的方法来获取插入符号位于Java的当前列和行。也许我在这些图书馆找不到合适的电话......

在终端中获取插入符号行和列的最简单方法是什么?

我正在寻找一个纯文本库,以便我可以重新编写缓冲区。我知道ansi转义码以及如何操纵它们以产生我之后的效果。我试图做的是使用Inquirer.js for Node徒劳无功的Java提示库。它有许多简单的方法可以从用户那里获取信息(列表,问题,拆分列表等)。所有这些都是文本 - 因此所有这些都没有UI,因此不会摇摆。我不想要摇摆,我只是想要一个不错的终端UI体验。

1 个答案:

答案 0 :(得分:0)

EDIT2

使用http://docs.oracle.com/javase/7/docs/api/javax/swing/text/Caret.html Caret接口,您可以创建CaretListener对象以查找插入位置。

所以你必须使用getDot()方法创建一个响应GUI的新CaretListener。

这可能有助于...无论如何使用代码。 http://bestjavapractices.blogspot.com.au/2011/11/get-current-caret-position-in.html

现在目前只能在GUI / SwingComponents上工作,我不确定这是否适用于终端应用程序,这就是你想要的,我假设你将使用命令行参数等等把事情搞定。

我认为你不能这样做,因为我认为终端只是打印输出,但我会继续检查一下。

如果你能告诉我你正在尝试使用插入符号,这将有助于我的努力。

希望这有帮助。

如果不是,您可能需要查看更多文本工具包,例如