Java での複数のアクション リスナー
この記事では、Java で複数のアクション リスナーを作成する方法を説明します。
Java では、ActionListener
はアクション イベントを処理するためのクラスです。 したがって、Java はこのインターフェースを提供します。これを使用して、ユーザーがボタンをクリックした場所を見つけ、イベントを生成して、ボタンがクリックされるたびに何かを印刷したり、何かを計算したりするなどのアクションを実行します。
ここでは、Java Swing プロジェクトで複数のボタンに対して複数のアクション リスナーを作成する方法を説明します。
まず、アクション リスナーの書き方を見てみましょう。
Java で ActionListener
を書く
Java では、java.awt.event
パッケージには、actionPerformed()
のみを含む ActionListener
インターフェイスが含まれています。 インターフェースであるため、ActionListener
を記述する一般的な方法は、ActionListener
インターフェースを実装することです。
ActionListener
を実装するときは、次の手順に従う必要があります。
-
クラスは
ActionListener
インターフェイスを実装する必要があります。public class test implements ActionListener
-
リスナーでボタンのようなコンポーネントを追加します。
Button b = new Button("Click Here"); b.addActionListener(this);
-
最後のステップは、唯一のインターフェース メソッド、つまり
actionPerformed()
メソッドをオーバーライドすることです。
コード例:
import java.awt.*;
import java.awt.event.*;
public class test implements ActionListener // 1st step
{
public test() // constructor
{
Button b = new Button("Click Here");
// 2nd step
b.addActionListener(this);
// our code.....
}
// 3rd step
public void actionPerformed(ActionEvent evt) {
// our code
}
public static void main(String args[]) {
Test t = new Test();
}
}
ActionListener
を実装するために匿名クラスが使用されることもあります。 簡単で簡潔な書き方であるため、最も好ましい方法です。
Button b = new Button("Click Here");
b.addActionListner(new ActionListener() {
@Override
public void actionPerformed(ActionEvent evt) {
// some action
}
});
Java での複数のアクション リスナー
上記の内容を拡張するだけで、複数のアクション リスナーを作成できます。
コード例: 匿名クラスの使用
JButton multiplyButton = new JButton(new AbstractAction("multiply") {
@Override
public void actionPerformed(ActionEvent evt) {
// some action
}
});
JButton divideButton = new JButton(new AbstractAction("divide") {
@Override
public void actionPerformed(ActionEvent evt) {
// some action
}
});