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

时间:2012-04-01 14:07:25

标签: java

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

期望的结果

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

1 个答案:

答案 0 :(得分:3)

经过一些谷歌搜索后,我发现有很多用于处理控制台输入的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/