homedukeOOP mit Java: Ereignisse Prof. Dr. Uwe Schmidt FH Wedel

Ereignisse

weiter

weiter

Ereignisse ab dem JDK1.1

Ereignisse
sind Objekte. Diese müssen aus der Klasse EventObject im Paket java.util oder Unterklassen hiervon erzeugt werden.
weiter
AWT Ereignisse
sind Ereignisse, auf die AWT Komponenten reagieren können. Sie werden aus Unterklassen der Klasse Klasse AWTEvent im Paket java.awt erzeugt
weiter
Klassifikation
von Ereignissen durch Unterklassenbildung
für die Klassen Button, MenuItem und TextField
Knopfdruck oder Editieren beendet.
weiter
für die Klassen Checkbox, CheckboxMenuItem, Choice und List
Selektieren oder Deselektieren eines Eintrags.
weiter
für die Klasse Component und alle ihre Unterklassen
Komponenten bewegen, Größe verändern, sichtbar oder unsichtbar machten
weiter
für die Klasse Component
Focus bekommen oder verlieren
weiter
für die Klasse Component
Tastendruck oder Taste lösen
weiter
für die Klasse Component
Maustastendruck, Maus betritt oder verlässt Komponente, Mausbewegung
weiter
für die Klasse Container
Komponenten hinzugefügen oder löschen
weiter
für die Klasse Scrollbar
scrollbar bewegen
weiter
für die Klasse TextComponent
Textveränderungen
weiter
für die Klasse Window
Fenster öffnen, schließen, verkleinern, vergrößern
weiter
Ereignisbehandlung
Die Unterschnittstellen von EventListener legen fest, welche Methoden ein Objekt implementieren muss, damit es Ereignisse verarbeiten kann.
weiter
Zuordnung
zu jedem Ereignistyp gibt es eine Schnittstelle zur Verarbeitung. Ausnahme: die Maus-Ereignisse werden aufgeteit in Maustasten-Ereignisse und Mausbewegungen:
 
weiter
Ereignisbehandlung
durch Implementierung einer Schnittstelle und
weiter
Registrierung
eines Behandlungsobjekt beim AWT-Objekt
 
void    addXxxxListener(XxxxListener l);
void removeXxxxListener(XxxxListener l);
weiter

weiter

Schema

die Klasse für das Applikationsobjekt

public
class MyAWTClass extends AnAWTClass {
 
  // lokale Daten: Modell
  MyData d;
 
  // Eingabe Elemente: Controller
  Button b;
 
  public
  MyAWTClass() {
    ...
 
    // Erzeugen des grafischen Objekts
    b = new Button();
 
    // sichbar machen
    add(b);
 
    // Erzeugen des event handler Objekts
    // und Registrierung
    b.addActionListener(new MyButtonListener(this));
    ...
  }
}

Die Hilfsklasse für das/die Kommando(s) zur Verarbeitung des Ereignisses

class MyButtonListener
  implements ActionListener {
 
    // der Verweis auf das Applikationsobjekt
 
    MyAWTClass o;
 
    // Verbindung zum Applikationsobjekt herstellen
 
    MyButtonListener(MyAWTClass o) {
      this.o = o;
    }
 
    // der event handler arbeitet mit den Daten
    // des Applikationsobjekts
 
    void actionPerformed(ActionEvent e) {
      o.d = ... ;
    }
}

weiter

einfache Variante

Eine einfache Variante, die man als Anfängerbeispiel in manchen Java-Büchern findet, die aber nur anwendbar ist, wenn nur ein einziger event handler benötigt wird, also nur in Spielzeugprogrammen.

public
class MyAWTClass
  extends AnAWTClass
  implements ActionListener
{
 
  // Modell
  MyData d;
 
  // Controller
  Button b;
 
  //--------------------
 
  public
  MyAWTClass() {
    ...
 
    // Erzeugen des grafischen Objekts
    b = new Button();
 
    // sichbar machen
 
    add(b);
 
    // und Registrierung des Objekts selbst
    // als event handler
 
    b.addActionListener(this);
    ...
  }
 
  // Implementierung der Schnittstelle
  // alle Komponenten des Objekts zugreifbar
 
  void
  actionPerformed(ActionEvent e) {
    this.d = ... ;
    this.d.setXyz(...);
    this. ...;
  }
}

--> Beispiele

--> geschachtelte Klassen


Letzte Änderung: 14.02.2012
© Prof. Dr. Uwe Schmidt
Prof. Dr. Uwe Schmidt FH Wedel