java - 按键事件

标签 java swing jbutton keylistener

我想添加一个 KeyEventListenerJButton 以响应 Enter 键,使用以下代码段:

   private void jButton3KeyPressed(java.awt.event.KeyEvent evt) {
        if (evt.getKeyCode() == 10) {
           eventRegister();
        }
   }                                   

我按的是空格键而不是 enter,if 条件设置为 true 并调用了 eventRegister。为什么?我怎样才能阻止这种方式?

最佳答案

  • 不要将 KeyListenerMouseListener 用于 JButtonJButtons JComponent,这些事件在 API 或 ButtonsModel 中实现,每个都可以通过 KeyEvent

  • consume() 进行测试
  • JButton 已实现 ENTER and SPACE key as accelator in KeyBindings

  • KeyBindings 中删除 SPACE,但不建议这样做,我不会混淆用户,当然取决于

关于java - 按键事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17502349/

相关文章:

java - 三星 Galaxy S3 的 Linux 开发/部署

java - JSF 中 "Back"导航链接的最佳实践

java - 向选项对话框添加可滚动标签

java - JFrame单例

java - JButton & Action & KeyBinding

java - 如何在java中捕获没有数据的堆转储

java - Pydoop Java home not set 安装问题

java - Graphics2D.drawString() 无法使用我的自定义字体

java - 如何在按 10 次时禁用 jbutton

java - 单击“保存”按钮后如何更新 JTextfield