ホームページ  >  記事  >  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 にショートカット キーを割り当てるには、以下が必要です。必要な動作をカプセル化するアクションを作成します。このアクションを JButton と KeyStroke にバインドして、ショートカット キーを確立できます。

手順:

  1. アクションの作成: AbstractAction を拡張する Action クラスを定義します。 actionPerformed() メソッド内で、アクションの呼び出し時に実行されるコードを指定します。
  2. アクションを JButton にバインドします。 addActionListener() メソッドを使用して、アクションを JButton に関連付けます。 .
  3. KeyStroke を登録します。 getInputMap() メソッドと ActionMap() メソッドを使用して、目的のショートカット キーをアクションにマップします。
  4. KeyStroke を入力マップ: InputMap の put() メソッドを使用して、定義されたアクションにマッピングされる 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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。