JavaでJButtonにActionListenerを追加するにはどうすればよいのでしょうか?
private JButton jBtnDrawCircle = new JButton("Circle");
private JButton jBtnDrawSquare = new JButton("Square");
private JButton jBtnDrawTriangle = new JButton("Triangle");
private JButton jBtnSelection = new JButton("Selection");
これらのボタンにアクションリスナーを追加して、メインメソッドから actionperformed
を呼び出し、ボタンがクリックされたときにプログラムで呼び出せるようにするには、どうすればよいでしょうか。
27
4
2つの方法
ActionListenerをクラスで実装し、
jBtnSelection.addActionListener(this);
後で、public void actionPerformed(ActionEvent e)
というメソッドを定義しなければならないでしょう。 しかし、これを複数のボタンに対して行うと、actionPerformed
メソッドが各イベントのソース(e.getSource()
)をチェックして、どのボタンからイベントが発生したか確認しなければならないため混乱する可能性があります。匿名の内部クラスを使用する。
後で、selectionButtonPressed()
を定義する必要があります。 これは、複数のボタンがある場合に有効です。なぜなら、アクションを処理するための個々のメソッドの呼び出しが、ボタンの定義のすぐ隣にあるからです。また、2番目の方法では、選択メソッドを直接呼び出すことができます。 この場合、タイマーが切れたときなど、他のアクションが起こったときにも
selectionButtonPressed()
を呼び出すことができます(ただしこの場合、メソッドの名前はselectionChanged()
など、別のものになるでしょう)。Java Swingチュートリアル]1、特にボタンに関するチュートリアルを見直すことが最善の方法です。
短いコードスニペットは
これが機能する場合はidkですが、変数名を作成しました。
アクションリスナーを追加するには、addActionListener (Abstract Buttonから)を呼び出すだけです。 もし、これがあなたの質問に完全に答えていないなら、もう少し詳細を教えていただけますか?