我正在编写一个小程序,想要弄清楚如何使按钮和按键事件覆盖相同的代码位。对于这个问题,我将这个按钮称为 fireButton
。 Action 事件的代码当然如下所示:
public void actionPerformed(ActionEvent e) {
if (e.getSource() == fireButton) {
//all the code that pressing button executes
}
}
现在,我想按“enter”键来执行操作事件处理的相同代码,但我不想在 keyPressed
方法中再次重写所有代码。
具体来说,我正在编写一个战舰程序,“Fire”按钮从两个文本字段获取输入,处理异常,并将输入作为参数传递给在网格中的特定方 block 处触发的方法。理想情况下,按 Enter 键的功能与按开机按钮的功能相同。有没有办法让某个方法调用 actionPerformed
方法?如果不是,那么解决该问题的优雅方法是什么?
最佳答案
- 创建操作
- 将操作添加到 JButton
- 使用按键绑定(bind)将 Enter 键绑定(bind)到操作
阅读Swing tutorial 。有以下部分:
- 如何使用操作
- 如何使用按键绑定(bind)
如果您只是谈论使用回车键调用“Fire”按钮,请查看 Enter Key and Button有几种方法。
关于java - 如何使 ActionEvent 和 KeyEvent 触发相同的操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4289715/