OOP mit Java: Ereignisse |
|
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 = ... ;
}
}
|
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. ...;
}
}
|
Letzte Änderung: 14.02.2012 | © Prof. Dr. Uwe Schmidt |