java – 按下键盘上的某个键时结束程序

我希望能够在按下某个键时结束我的程序(对于这个例子,我们将说当按下k时).我知道这可以通过使用JFrame和KeyListener来完成,但希望我的监听器能够在后台运行.我的程序当前修改了word文档,这意味着活动窗口不是JFrame,因此它不会记录按下的键.缓冲读取器也不是前面提到的选项,正在运行的java程序不是选定的窗口.我花了很多时间研究不同的方法,但是我发现的是用AWTEvents按下鼠标的方法

在最糟糕的情况下,我将检查是否按下第二个鼠标按钮然后结束我的代码,但理想情况下我想在按下的键上结束它.任何帮助都会很棒,评论任何澄清.

解决方法:

…I know that this could be done by using JFrame and KeyListener

不,您几乎不会将KeyListener添加到JFrame,或者在Swing GUI中使用KeyListener,即使您想要在活动GUI中监听击键.

but want this my listener to run in the background.

然后你正在寻找一个键盘记录器,并需要挂钩键盘输入,这是普通的核心Java无法完成的.

我这样做的最简单方法是使用另一种语言,如AutoIt脚本语言(如果这是Windows),然后让我的AutoIt通过标准输入和输出套接字通知我的Java程序.

更困难的解决方案(对我来说)是使用C或C编写自己的键盘钩子,然后通过JNI或JNA将其链接到Java.无论如何,任何解决方案都必须依赖于平台.

上一篇:Android键盘显示后jQuery移动页脚或视口大小错误


下一篇:linux – 将键盘/ IR控制器连接到屏幕上运行的命令行程序