Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在JFrame不在'时收听关键帧;看不见_Java_Swing_Jframe_Listener - Fatal编程技术网

Java 在JFrame不在'时收听关键帧;看不见

Java 在JFrame不在'时收听关键帧;看不见,java,swing,jframe,listener,Java,Swing,Jframe,Listener,我正在创建一个小人程序,我想在后台运行,直到按下Ctrl+Shft+L 这是一个JFrame窗口,当发生某些事情时,我有setVisible(false)。在它不再可见之后,我需要它监听上面的键,然后再次显示JFrame 我尝试了KeyEventDispatcher,甚至都没有成功 如何在后台收听按键?我建议使用按键监听器。 以下是文件: 为什么KeyEventDispatcher和JNativeHook不起作用?KeyEventDispatcher永远不会起作用,因为如果窗口没有焦点,Java

我正在创建一个小人程序,我想在后台运行,直到按下Ctrl+Shft+L

这是一个JFrame窗口,当发生某些事情时,我有
setVisible(false)
。在它不再可见之后,我需要它监听上面的键,然后再次显示JFrame

我尝试了
KeyEventDispatcher
,甚至都没有成功


如何在后台收听按键?

我建议使用按键监听器。 以下是文件:

为什么
KeyEventDispatcher
和JNativeHook不起作用?KeyEventDispatcher永远不会起作用,因为如果窗口没有焦点,Java就没有访问KeyEvents的权限。如果您试图在Java程序没有焦点的情况下侦听这些键,那么我认为Java中没有任何好的方法。如果没有某种插件或OS API,你最好的选择是C++或其他更接近OS级别的语言,并且可以链接到OS密钥。handlers@Haloboy因此,了解JNativeHook为何无法工作很重要Java只能在窗口具有焦点时侦听KeyEvents。如果窗口确实有焦点,则应使用
键绑定
,而不是键侦听器。(1-).A
KeyListener
在窗口外不起作用,文档位于