加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 单击按钮后keylistener无法正常工作

发布时间:2020-12-14 23:55:50 所属栏目:Java 来源:网络整理
导读:我有一个keylistener附加到我的框架在 java,我可以检测到按键时按键,但奇怪的事情正在发生.我的游戏是一个扫雷游戏,我有一个重启按钮,基本上清理板并重新调整它.奇怪的是,当我用鼠标点击按钮时,一切都清晰,并且电路板被重新启动但是keylistener停止工作.更奇
我有一个keylistener附加到我的框架在 java,我可以检测到按键时按键,但奇怪的事情正在发生.我的游戏是一个扫雷游戏,我有一个重启按钮,基本上清理板并重新调整它.奇怪的是,当我用鼠标点击按钮时,一切都清晰,并且电路板被重新启动但是keylistener停止工作.更奇怪的是,我有一个jmenuitem基本上自动点击按钮.所以就像restartbutton.doclick()

如果我点击jmenuitem重新启动它重新启动精细清除一切,keylistener仍然起作用.我甚至可以看到点击按钮.任何想法为什么会发生这种情况?

谢谢

这是附在我的主框架上.这是单击按钮后停止工作的监听器.

frame.addKeyListener(new KeyListener(){


       public void keyReleased(KeyEvent e){


       }

       public void keyPressed(KeyEvent e){

       System.out.println("hey");
       int keycode = e.getKeyCode();

       if(e.isControlDown() & keycode==KeyEvent.VK_C){

      balh blah balh
       }

       }

       public void keyTyped(KeyEvent e){


       }

       });

解决方法

建议:

>你的焦点问题,KeyListener停止工作,因为它正在侦听的容器已经失去了对JButton的关注.
>一种解决方案是让JButton无法通过调用setFocusable(false)来获得焦点.
>但我建议你尽可能不使用KeyListener,而是使用键绑定,因为绑定你没有这个问题,而且它是一个更高级别的结构.

编辑
关于:

what would be the best way to change that to a key binding?

最好是通过Key Bindings tutorial并实施那里找到的建议.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读