Java ActionListener viene avvisato ogni volta che si fa clic sul pulsante o sulla voce di menu. Viene notificato contro ActionEvent. L'interfaccia ActionListener si trova in java.awt.event pacchetto . Ha un solo metodo: actionPerformed().
metodo actionPerformed()
Il metodo actionPerformed() viene richiamato automaticamente ogni volta che si fa clic sul componente registrato.
public abstract void actionPerformed(ActionEvent e);
Come scrivere ActionListener
L'approccio comune è implementare ActionListener. Se implementi la classe ActionListener, devi seguire 3 passaggi:
1) Implementare l'interfaccia ActionListener nella classe:
public class ActionListenerExample Implements ActionListener
2) Registrare il componente con l'ascoltatore:
component.addActionListener(instanceOfListenerclass);
3) Sostituisci il metodo actionPerformed():
public void actionPerformed(ActionEvent e){ //Write the code here }
Esempio di Java ActionListener: al clic del pulsante
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.'); } }
Produzione:
Esempio di Java ActionListener: utilizzo della classe anonima
Possiamo anche usare la classe anonima per implementare ActionListener. È la via abbreviata, quindi non è necessario seguire i 3 passaggi:
b.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ tf.setText('Welcome to Javatpoint.'); } });
Vediamo il codice completo di ActionListener utilizzando la classe anonima.
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); } }
Produzione: