首頁  >  文章  >  Java  >  如何在 Java 中為 JButton 指派快捷鍵?

如何在 Java 中為 JButton 指派快捷鍵?

DDD
DDD原創
2024-10-24 02:58:02264瀏覽

How to Assign Shortcut Keys to JButtons in Java?

在Java 中為JButton 分配快捷鍵

使用用戶介面時,為常見操作提供快捷鍵通常會很方便以改進用戶效率。在 Java Swing 中,您可以為 JButton 指派快捷鍵,以透過鍵盤輸入觸發特定操作。

解決方案:

要為 JButton 指派快速鍵,您需要建立一個封裝所需行為的動作。然後可以將此 Action 綁定到 JButton 和 KeyStroke 以建立快捷鍵。

步驟:

  1. 建立一個 Action: 定義一個擴充AbstractAction 的Action 類別。在 actionPerformed() 方法中,指定呼叫 Action 時要執行的程式碼。
  2. 將Action 綁定到JButton: 使用addActionListener() 方法將Action 與JButton 關聯.
  3. ActionMap() 方法將所需的快速鍵對應到Action。
  4. 將 KeyStroke 綁定到輸入對映:使用InputMap的put()方法,指定要對應到定義的Action的KeyStroke。

範例實作:

以下程式碼片段示範如何為JButton 新增快捷鍵(例如「Enter」):

<code class="java">import javax.swing.*;
import java.awt.event.*;

public class ShortcutKeyButton {

    public static void main(String[] args) {
        JButton button = new JButton("Click Me");

        // Create an Action for the button
        Action action = new AbstractAction() {
            @Override
            public void actionPerformed(ActionEvent e) {
                System.out.println("Button clicked!");
            }
        };

        // Bind the Action to the JButton
        button.addActionListener(action);

        // Register the KeyStroke
        InputMap inputMap = button.getInputMap(JComponent.WHEN_FOCUSED);
        KeyStroke keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0);
        inputMap.put(keyStroke, "ENTER");
        button.getActionMap().put("ENTER", action);
    }
}</code>

其他資源:

    Swing教學:如何使用操作
  • Swing 教學:如何使用按鍵綁定

以上是如何在 Java 中為 JButton 指派快捷鍵?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn