トップページ > コンテンツ > プログラミング入門 > Java入門 > GUIプログラミング > リスナー編 > アクションリスナー

アクションリスナー内で呼び出し元コンポーネントの区別を行うには次のように書く。

class SomeClass implements ActionListener{
  public void actionPerformed(ActionEvent e) {
    if (e.getSource() == component1) {
     //何らかの処理
     }
    if (e.getSource() == component2) {
     //何らかの処理
     }
  }
}

後、リスナーは内部クラスを作った方が書きやすいかも(各コンポーネントの宣言自体はprivateなグローバル変数として宣言しちゃって)

ActionListenerの実装方法について簡単にまとめると、
1.あるクラスがActionListenerをimplementsして、そのクラス内にあるコンポーネントが
 コンポーネント名.addActionListener(this);として登録する方法。
2.特定のクラスにActionListenerの実装を任せて、あるクラス内にあるコンポーネントが
 コンポーネント名.addActionListener(new 特定のクラス());とする方法。
3.
ActionLister aec = new ActionLister() {
  public void actionPerformed(ActionEvent e) {
  }
};
と匿名クラスにしてしまう方法。


最終更新:2015年12月28日 22:46