首页 >Java >java教程 >如何为 Java 中的按钮分配键盘快捷键?

如何为 Java 中的按钮分配键盘快捷键?

Patricia Arquette
Patricia Arquette原创
2024-10-24 04:09:021029浏览

How Can I Assign Keyboard Shortcuts to Buttons in Java?

如何在 Java 中将快捷键绑定到 JButton

在 Java 中,您可以为按钮分配快捷键(例如,单击“删除”键触发按钮单击),方法是实现一个操作,将其绑定到 KeyStroke,然后将操作与按钮关联起来。

为此,请按照以下步骤操作:

  1. 创建一个 Action 类,定义按下快捷键时的行为,通常使用匿名内部类。
  2. 使用调用 button.addActionListener() 向按钮注册 Action。
  3. 使用 InputMap 和 ActionMap 将快捷键映射到 Action,如下所示:

    • getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW) 在按钮面板获得焦点时检索键盘事件的输入映射。
    • put(KeyStroke, Object) 将所需的键与操作关联起来。
    • getActionMap().put(Object, Action) 将操作与映射的键关联起来。

以下是实现这些步骤的示例代码片段:

<code class="java">public class CalculatorPanel extends JPanel {
    // ... (code removed for brevity)

    for (int i = 0; i < 10; i++) {
        String text = String.valueOf(i);
        JButton button = new JButton(text);
        // ... (code removed for brevity)

        InputMap inputMap = buttonPanel.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW);
        inputMap.put(KeyStroke.getKeyStroke(text), text);
        inputMap.put(KeyStroke.getKeyStroke("NUMPAD" + text), text);
        buttonPanel.getActionMap().put(text, numberAction);
    }
}</code>

此代码定义了一个操作,该操作在触发时将击键值插入到文本字段中。创建按钮后,它们将映射到主键盘和数字键盘上各自的键。因此,按下相应的键(例如“1”或“NUMPAD 1”)会激活关联的按钮。

以上是如何为 Java 中的按钮分配键盘快捷键?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn