如何使用JLine编写等效的KeyListener?
我正在使用Java编写的控制台应用程序。 我要做的是处理用户键盘输入。 当在终端中使用我们的程序启动一个漫长的过程时,用户必须可以随时按'q'
来停止进程(在单独的线程上运行)。
我尝试了几件事:
- 在另一个不同的线程中运行,读取用户输入并向进程的线程抛出
InterruptedException
- 使用JLine及其
ConsoleReader
- 使用JLine并添加链接到键盘键的TriggeredAction
但每次,我都面临同样的问题 :用户必须按ENTER
键,我不希望这样。
如果您有任何想法或我的问题的实际解决方案,感谢您的帮助。
PS:如果您认为这是不可能的,请不要回答。 我知道这是可能的。
也许你可以使用其中一个库,
http://sourceforge.net/projects/jxgrabkey/ for linux
https://code.google.com/p/jintellitype/用于Windows
与你的问题关系不大,但我认为可以帮到你,
http://sourceforge.net/projects/javacurses/
所有这一切的问题在于您将失去平台独立性。