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/