swing中键盘事件失效分析
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了swing中键盘事件失效分析相关的知识,希望对你有一定的参考价值。
在进行swing开发时,难免用到键盘监听事件,但是有时候键盘事件会莫名失效。
分析原因是容器失焦了。
例如,一个frame上有多个容器,其中一个包含键盘监听事件,加入我们再加入其他容器时,键盘事件就失效了,这是因为焦点跑到了其他容器上去了,重新获取焦点我们可以这样做:
gamePanel.setFocusable(true);
gamePanel.requestFocus(true);
还有一种情况是我遇到的,我在另一个容器上添加几个按钮事件,点击按钮之后,另一个容器上的键盘监听失效了,这是因为焦点被按钮获取了,重新获取焦点我们可以这样做:
在按钮事件逻辑执行完之后执行如下API:
gamePanel.requestFocus(true); //让面板重新获得焦点
以上是关于swing中键盘事件失效分析的主要内容,如果未能解决你的问题,请参考以下文章