Java gestione eventi introduzione. La gestione degli eventi Ci sono 3 oggetti interessati alla g. d....
-
Upload
sofia-giordani -
Category
Documents
-
view
213 -
download
0
Transcript of Java gestione eventi introduzione. La gestione degli eventi Ci sono 3 oggetti interessati alla g. d....
Java gestione eventi
introduzione
La gestione degli eventi
Ci sono 3 oggetti interessati alla g. d. e.:• L’oggetto interessato (event source)
ad esempio se clicchiamo su una label, sarà la label stessa
• l’eventoad esempio se clicchiamo su una label, sarà il click del mouse, con le sue specificità tipo la posizione del mouse, lo stato dei suoi tasti, ecc. In generale è un oggetto di classe ActionEvent
• il gestore dell’evento (listener)il gestore sarà un oggetto che implementa l’intefaccia ActionListener ed avrà un metodo actionPerformed( … ) che riceve come parametro l’evento.
La gestione degli eventi
• Le classi e le interfacce citate si trovano in java.awt.event.*
• le interfacce sono delle particolari classi che contengono solo la dichiarazione del metodo, che deve essere di volta in volta implementato (override)
• si parla di modello “osservatore”, pattern Observer in inglese
…in pratica
• costruiamo una classe GestoreEventiimport java.awt.event.*;
class GestoreEvento implements ActionListener {
public void actionPerformed( ActionEvent evento ) {
System.out.println("Hai premuto:" + evento.getActionCommand());System.out.println(" when: " + evento.getWhen());System.out.println(" tasti: " + evento.getModifiers());System.out.println(" source: " + evento.getSource());System.out.println(" id: " + evento.getID());System.out.println(" when:" + evento.paramString());
}}
…in pratica
• Creiamo una classe che visualizza un frame con 2 pulsanti
import java.awt.*class FrameConPulsanti extends Frame {
FrameConPulsanti() {this.setBounds(20,20, 200, 300);this.setVisible(true);
Button btn1 = new Button("apri");Button btn2 = new Button("chiudi");
/* aggiungere qui il gestore dell’evento */
this.setLayout(new FlowLayout(FlowLayout.CENTER, 10,10));this.add(btn1);this.add(btn2);
}}
…in pratica
• Aggiungiamo il Listener (l’ascoltatore dell’evento) subito prima di aggiungere i pulsanti al form
GestoreEvento gestoreClick = new GestoreEvento(); btn1.addActionListener( gestoreClick ); btn2.addActionListener( gestoreClick );
…in pratica
• infine costruiamo una nuova classe con main per testare le nostre classi
class ProvaFrameEventi {public static void main(String[] s ) {
new FrameConPulsanti();
}}
Compilare ed eseguire
• Dovendo modificare più file insieme, conviene:
• creare una cartella per il nostro “progetto”
• compilare tutti i sorgenti .java con
javac *.java• eseguire l’unica classe che ha il main con
java ClasseConMain