Java如何在非GUI应用程序中检测Tab键按下?

我正在尝试编写一个模拟终端选项卡完成的程序。 但我不确定如何捕获tab键。 这是一个非gui应用程序。 我不是在寻找swing / awd actionlisteners

期望的结果

While(true) //Some api to capture KeyEvent.VK_TAB (tab key) System.out.print("You typed tab") 

经过一些谷歌搜索,我发现有相当多的java库来处理控制台输入。 他们之中有一些是:

jLine

2. Lanterna

3. Java Curses库

查瓦

布莱肯

jLine具有自定义键绑定,制表符完成,行编辑等function.jLine具有readVirtualKey等方法,可从控制台读取虚拟键,例如VK_UP。

您还可以使用Tab键实现自动完成function。 您可能必须为此实现自己的Completer类。 看看下面给出的链接,它清楚地显示了选项卡完成function。 可能这就是你需要的。

https://jeszysblog.wordpress.com/2012/04/14/readline-style-command-line-editing-with-jline/