我正在尝试编写一个模拟终端标签完成的程序。但我不确定如何捕获tab键。这是一个非gui应用程序。我不是在寻找swing / awd actionlisteners
期望的结果
While(true)
//Some api to capture KeyEvent.VK_TAB (tab key)
System.out.print("You typed tab")
答案 0 :(得分:3)
经过一些谷歌搜索后,我发现有很多用于处理控制台输入的java库。其中一些是:
jLine具有自定义键绑定,制表符完成,行编辑等功能.jLine具有readVirtualKey等方法,可从控制台读取虚拟键,例如VK_UP。
您还可以使用Tab键实现自动完成功能。您可能必须为此实现自己的 Completer 类。看看下面给出的链接,它清楚地显示了标签完成功能。可能就是你需要的。
https://jeszysblog.wordpress.com/2012/04/14/readline-style-command-line-editing-with-jline/