Java如何在非UI应用程序中检测tab键按下?
我正试图编写一个程序来模拟终端标签的完成。但我不确定如何捕捉tab键。这是一个非gui应用程序。我不是在找swing/awd actionlisteners
期望的结果
While(true)
//Some api to capture KeyEvent.VK_TAB (tab key)
System.out.print("You typed tab")
你可以在下面搜索框中键入要查询的问题!
我正试图编写一个程序来模拟终端标签的完成。但我不确定如何捕捉tab键。这是一个非gui应用程序。我不是在找swing/awd actionlisteners
期望的结果
While(true)
//Some api to capture KeyEvent.VK_TAB (tab key)
System.out.print("You typed tab")
# 1 楼答案
通过谷歌搜索,我发现有相当多的java库用于处理控制台输入。其中一些是:
1. jLine
2. Lanterna
3. Java Curses Library
4. Charva
5. Blacken
jLine具有自定义键绑定、制表符完成、行编辑等功能。jLine具有readVirtualKey等方法,可从控制台读取虚拟键,例如VK_UP
还可以使用tab键实现自动完成功能。为此,您可能需要实现自己的Completer类。看看下面给出的链接,它清楚地显示了制表符完成功能。也许这就是你需要的
https://jeszysblog.wordpress.com/2012/04/14/readline-style-command-line-editing-with-jline/