swing中键盘事件失效分析

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了swing中键盘事件失效分析相关的知识,希望对你有一定的参考价值。

    在进行swing开发时,难免用到键盘监听事件,但是有时候键盘事件会莫名失效。

    分析原因是容器失焦了。


     例如,一个frame上有多个容器,其中一个包含键盘监听事件,加入我们再加入其他容器时,键盘事件就失效了,这是因为焦点跑到了其他容器上去了,重新获取焦点我们可以这样做:


        gamePanel.setFocusable(true);

gamePanel.requestFocus(true);

    还有一种情况是我遇到的,我在另一个容器上添加几个按钮事件,点击按钮之后,另一个容器上的键盘监听失效了,这是因为焦点被按钮获取了,重新获取焦点我们可以这样做:

        

    在按钮事件逻辑执行完之后执行如下API:

    gamePanel.requestFocus(true);    //让面板重新获得焦点


以上是关于swing中键盘事件失效分析的主要内容,如果未能解决你的问题,请参考以下文章

Java Swing中键盘的处理

Java JTable 添加了一个键盘事件,和鼠标点击事件的监听,如何在我键盘事件起作用时,让鼠标事件失效

java--键盘事件类,按下回车则模拟鼠标

java 事件监听 - 键盘

键盘事件——TankGame3

vue键盘事件不生效