在java控制台应用程序中实现一个键监听器

时间:2013-09-30 17:47:29

标签: java console-application keylistener

我正在尝试在java中实现一个简单的程序(带有永久循环),当用户按下“a”键时终止该程序。我可以使用system.in来完成,但是用户应该在按下'a'后按Enter键我希望程序在按下'a'之后终止。有没有办法做到这一点。我发现使用JNI是一个解决方案,但我不喜欢使用第三方库,因为这只是一个简单的代码。

2 个答案:

答案 0 :(得分:1)

  

但我不喜欢使用第三方库,因为这只是一个简单的代码。

然后就无法完成。

标准Java控制台无法响应单键按下,周期等所有解决方案都需要第三方或JNI / JNA或非控制台(gui)解决方案。

答案 1 :(得分:1)

我几年前就应对这个问题,或者甚至更多。我发现了一个在Ubuntu系统中对我有用的技巧。诀窍是打电话

stty -icanon min 1

执行申请前;同样的技巧被用作已经用于windows环境的库jline的一部分。