关键事件

zar*_*ari 4 java swing keylistener jbutton

我想为JButton添加一个KeyEventListener,它响应Enter键,使用以下代码段:

   private void jButton3KeyPressed(java.awt.event.KeyEvent evt) {
        if (evt.getKeyCode() == 10) {
           eventRegister();
        }
   }                                   
Run Code Online (Sandbox Code Playgroud)

我按空格键而不是输入,if条件设置为true并eventRegister调用.为什么?我怎么能阻止这种方式?

mKo*_*bel 6

  • 不要使用KeyListener或MouseListener用于JButton或者JButtons JComponent,这些事件是在API中实现的,或者ButtonsModel每个事件都是可测试consume()的KeyEvent

  • JButton在KeyBindings中实现了ENTER和SPACE键作为加速器

  • 除去SPACE从KeyBindings,但不建议,我wouldn'd是迷惑用户,一定要看的