ボタンまたはメニュー項目をクリックするたびに、Java ActionListener に通知されます。 ActionEventに対して通知されます。 ActionListener インターフェースは java.awt.event にあります。 パッケージ 。メソッドは 1 つだけです: actionPerformed()。
actionPerformed() メソッド
actionPerformed() メソッドは、登録されたコンポーネントをクリックするたびに自動的に呼び出されます。
public abstract void actionPerformed(ActionEvent e);
ActionListenerの書き方
一般的なアプローチは、ActionListener を実装することです。 ActionListener クラスを実装する場合は、次の 3 つの手順に従う必要があります。
1) クラスに ActionListener インターフェイスを実装します。
public class ActionListenerExample Implements ActionListener
2) コンポーネントをリスナーに登録します。
component.addActionListener(instanceOfListenerclass);
3) actionPerformed() メソッドをオーバーライドします。
public void actionPerformed(ActionEvent e){ //Write the code here }
Java ActionListener の例: ボタンのクリック時
import java.awt.*; import java.awt.event.*; //1st step public class ActionListenerExample implements ActionListener{ public static void main(String[] args) { Frame f=new Frame('ActionListener Example'); final TextField tf=new TextField(); tf.setBounds(50,50, 150,20); Button b=new Button('Click Here'); b.setBounds(50,100,60,30); //2nd step b.addActionListener(this); f.add(b);f.add(tf); f.setSize(400,400); f.setLayout(null); f.setVisible(true); } //3rd step public void actionPerformed(ActionEvent e){ tf.setText('Welcome to Javatpoint.'); } }
出力:
Java ActionListener の例: 匿名クラスの使用
匿名クラスを使用して ActionListener を実装することもできます。これは簡単な方法なので、次の 3 つの手順に従う必要はありません。
b.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ tf.setText('Welcome to Javatpoint.'); } });
匿名クラスを使用した ActionListener の完全なコードを見てみましょう。
import java.awt.*; import java.awt.event.*; public class ActionListenerExample { public static void main(String[] args) { Frame f=new Frame('ActionListener Example'); final TextField tf=new TextField(); tf.setBounds(50,50, 150,20); Button b=new Button('Click Here'); b.setBounds(50,100,60,30); b.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ tf.setText('Welcome to Javatpoint.'); } }); f.add(b);f.add(tf); f.setSize(400,400); f.setLayout(null); f.setVisible(true); } }
出力: