【问题标题】:Hotkey/Shortcut for JButtonJButton 的热键/快捷键
【发布时间】:2013-03-21 10:51:57
【问题描述】:
我在 Java 中有以下 JButton 代码:
enterButton = new JButton("Enter");
enterButton.setMnemonic(KeyEvent.VK_ENTER); // Shortcut: Alt + Enter
问题很简单:不用快捷键“Alt+Enter”,如何设置快捷键“Enter”?
我更喜欢按“Enter”而不是按住“Alt”并按“Enter”
【问题讨论】:
标签:
java
swing
shortcut
hotkeys
enter
【解决方案1】:
您可以通过一种特殊技术使按钮响应 Enter 关键字,该技术仅适用于 Enter 键,为此您需要获取显示按钮的顶级窗口的 JRootPane 并调用 @ 987654322@ 在此根窗格中。
即,
enterButton = new JButton("Enter")
// after the enterButton has been added to the GUI and the GUI displayed, call:
JRootPane rootPane = SwingUtilities.getRootPane(enterButton);
rootPane.setDefaultButton(enterButton);
否则对于非输入键,您需要使用可行的键绑定,但需要更多的努力。
【解决方案2】:
我遇到了同样的问题:我有一个表单,每当我编辑一个字段时,我想按 Enter 键以触发 actionPerformed 事件。
我用这个修复了它:
JPanel 按钮和表单的其余部分位于称为content:
content.getRootPane().setDefaultButton(enterButton);
这使按钮始终处于选中状态,因此当您按下回车键时,其对应的 actionPerformed 事件会触发(记得添加一个 ActionListener 到它!)
希望对你有帮助!
亲切的问候,
赫克托