|
JSem: 4.1 |
L'interazione tra l'utente e un programma (o un'applet) avviene
tramite il click di un pulsante, movimenti del mouse, compilazioni di campi testo, ecc...
In Java, queste azioni costituiscono degli eventi e la gestione degli eventi permette
di realizzare questa interattività. Un componente AWT genera un evento (per es. un bottone quando
premuto genera un evento); questo componente è il compoente sorgente dell'evento.
Per esempio nel caso di un ActionEvent in un'applet, il codice tipico sarà della forma: import java.applet.*; import java.awt.*; import java.awt.event.*; public class Esempio extends Applet implements ActionListener{ /*implementazione dell'interfaccia ActionListener; la classe Esempio dovrà definire il metodo actionPerformed della interfaccia ActionListener*/ ................. Button bt = new Button("Premi!"); .............. public void init(){ ............ bt.addActionListener(this); /*il metodo addActionListener(ActionListener l) della classe Button permette a bt di registrarsi presso l'interfaccia ActionListener dell'applet; this si riferisce all'interfaccia implementata dalla classe Esempio; cioè, praticamente, all'applet.*/ ............... } ....... public void actionPerformed(ActionEvent e){ /*questo è l'unico metodo dell'interfaccia ActionListener; il codice di questo metodo descrive quello che succedde quando il pulsante bt viene premuto (risposta all'evento)*/ } ............. Osserviamo che il parametro del metodo actionPerformed è un oggetto della classe ActionEvent, la quale deriva dalla classe java.awt.AWTEvent, quest'ultima classe eredita da java.util.EventObject il metodo getSource() che ritorna l'oggetto (cioè un'istanza della classe Object) che ha generato l'evento. Praticamente tutte le classi predefinite di eventi hanno, in modo analogo, il metodo getSource(), questo metodo è molto utile nel caso ci siano più componenti registrati presso il listener. |
next content previous