Java 在JFrame不在'时收听关键帧;看不见
我正在创建一个小人程序,我想在后台运行,直到按下Ctrl+Shft+L 这是一个JFrame窗口,当发生某些事情时,我有Java 在JFrame不在'时收听关键帧;看不见,java,swing,jframe,listener,Java,Swing,Jframe,Listener,我正在创建一个小人程序,我想在后台运行,直到按下Ctrl+Shft+L 这是一个JFrame窗口,当发生某些事情时,我有setVisible(false)。在它不再可见之后,我需要它监听上面的键,然后再次显示JFrame 我尝试了KeyEventDispatcher,甚至都没有成功 如何在后台收听按键?我建议使用按键监听器。 以下是文件: 为什么KeyEventDispatcher和JNativeHook不起作用?KeyEventDispatcher永远不会起作用,因为如果窗口没有焦点,Java
setVisible(false)
。在它不再可见之后,我需要它监听上面的键,然后再次显示JFrame
我尝试了KeyEventDispatcher
,甚至都没有成功
如何在后台收听按键?我建议使用按键监听器。 以下是文件:
为什么
KeyEventDispatcher
和JNativeHook不起作用?KeyEventDispatcher永远不会起作用,因为如果窗口没有焦点,Java就没有访问KeyEvents的权限。如果您试图在Java程序没有焦点的情况下侦听这些键,那么我认为Java中没有任何好的方法。如果没有某种插件或OS API,你最好的选择是C++或其他更接近OS级别的语言,并且可以链接到OS密钥。handlers@Haloboy因此,了解JNativeHook为何无法工作很重要Java只能在窗口具有焦点时侦听KeyEvents。如果窗口确实有焦点,则应使用键绑定
,而不是键侦听器。(1-).AKeyListener
在窗口外不起作用,文档位于