我想添加一个 KeyEventListener 到 JButton 以响应 Enter 键,使用以下代码段:
private void jButton3KeyPressed(java.awt.event.KeyEvent evt) {
if (evt.getKeyCode() == 10) {
eventRegister();
}
}
我按的是空格键而不是 enter,if 条件设置为 true 并调用了 eventRegister
。为什么?我怎样才能阻止这种方式?
最佳答案
不要将
KeyListener
或MouseListener
用于JButton
或JButtons JComponent
,这些事件在 API 或ButtonsModel
中实现,每个都可以通过KeyEvent
的 JButton
已实现 ENTER and SPACE key as accelator in KeyBindings从
KeyBindings
中删除SPACE
,但不建议这样做,我不会混淆用户,当然取决于
consume()
进行测试
关于java - 按键事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17502349/