G
Guest
Gast
Hallo zusammen,
folgendes Problem.
Ich beschäftige mich zur Zeit mit Events (Java).
Ein kleines Beispiel aus einem Buch, was ich nicht ganz verstehe:
Im Buch wird dazu folgendes ausgesagt:
1. Ich dachte der Ereignisempfänger ist das Inteface, z.B. ActionListener, das Methoden zur Verarbeitung von
Ereignissen zu Verfügung stellt und diese dann implementiert werden müssten.
Warum reagiert denn die Klasse auf die Ereignisse??
2. Was hat ein Ereignistyp, wie z.B. ActionEvent mit der Schnittstelle ActionListener zu schaffen. Hängen die beiden
irgendwie zusammen?????
3. Kann man die Ereignisbehandlung Analog zu try-catch betrachten?? Wenn im try-Block ein Fehler auftaucht, wird ein Objekt erzeugt, das mit einigen Informationen ausgestatet ist aufgefangen und an den catch-Block zur weiterverarbeitung geleitet ( ob ein oder meherere catch-Blöcke vorliegen ist jetzt nicht wichtig).
Bei der Ereignisbehandlung habe ich mir etwas ähnliches vorgestellt, wie z.B. wenn auf ein Button-Objekt, an dem
einen ActionListener angemeldet ist geklickt wude, wird ein Objekt erzeugt, das Informationen über das Ereignis enthält
und an die Methode "public void actionPerformed(ActionEvent ae), die ein Obejkt vom Typ ActionEvent aufnimmt übergeben
wird und dann innerhalb der Methode, wie bei catch der Block ausgeführt wird.
Aber da kommt dieses "this" ins Spiel, was ich da nicht verstehe :bahnhof:
Ich hoffe, ich konnte mein kleines Problem einigermaßen deutlich erklären, ???:L
danke im voraus, monet
folgendes Problem.
Ich beschäftige mich zur Zeit mit Events (Java).
Ein kleines Beispiel aus einem Buch, was ich nicht ganz verstehe:
Code:
public class ButtonFrame extends JFrame implemenst ActionListener
{
public void iniUI()
{
JButton button = new JButton("OK");
button.addActionListener(this)
}
public void actionPerformed(ActionEvent ae)
{
}
}
Im Buch wird dazu folgendes ausgesagt:
Es wird zur Laufzeit mit "button.addActionListener(this)" ein Objekt der Klasse "ButtonFrame" als Ereignisempfänger
beim Objekt "button" registriert. Die Klasse des übergeordneten Objekts muss die Schnittstelle "ActionListener"
implementieren.
1. Ich dachte der Ereignisempfänger ist das Inteface, z.B. ActionListener, das Methoden zur Verarbeitung von
Ereignissen zu Verfügung stellt und diese dann implementiert werden müssten.
Warum reagiert denn die Klasse auf die Ereignisse??
2. Was hat ein Ereignistyp, wie z.B. ActionEvent mit der Schnittstelle ActionListener zu schaffen. Hängen die beiden
irgendwie zusammen?????
3. Kann man die Ereignisbehandlung Analog zu try-catch betrachten?? Wenn im try-Block ein Fehler auftaucht, wird ein Objekt erzeugt, das mit einigen Informationen ausgestatet ist aufgefangen und an den catch-Block zur weiterverarbeitung geleitet ( ob ein oder meherere catch-Blöcke vorliegen ist jetzt nicht wichtig).
Bei der Ereignisbehandlung habe ich mir etwas ähnliches vorgestellt, wie z.B. wenn auf ein Button-Objekt, an dem
einen ActionListener angemeldet ist geklickt wude, wird ein Objekt erzeugt, das Informationen über das Ereignis enthält
und an die Methode "public void actionPerformed(ActionEvent ae), die ein Obejkt vom Typ ActionEvent aufnimmt übergeben
wird und dann innerhalb der Methode, wie bei catch der Block ausgeführt wird.
Aber da kommt dieses "this" ins Spiel, was ich da nicht verstehe :bahnhof:
Ich hoffe, ich konnte mein kleines Problem einigermaßen deutlich erklären, ???:L
danke im voraus, monet