【问题标题】: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);
    

    否则对于非输入键,您需要使用可行的键绑定,但需要更多的努力。

    【讨论】:

    • 小附录:不需要 SwingUtilities,因为 JComponent 有一个 getRootPane() 方法。
    【解决方案2】:

    我遇到了同样的问题:我有一个表单,每当我编辑一个字段时,我想按 Enter 键以触发 actionPerformed 事件。

    我用这个修复了它: JPanel 按钮和表单的其余部分位于称为contentcontent.getRootPane().setDefaultButton(enterButton);

    这使按钮始终处于选中状态,因此当您按下回车键时,其对应的 actionPerformed 事件会触发(记得添加一个 ActionListener 到它!)

    希望对你有帮助!

    亲切的问候,
    赫克托

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-04
      • 2013-12-01
      • 2015-06-24
      • 1970-01-01
      相关资源
      最近更新 更多