Hallo,
um ein ausgelöstes Event zu verarbeiten bedarf es ja eines Listeners. Prinzipiell ist es ja so, dass das Event auslösende Objekt nur Wissen muss, dass die Ereignisempfänger das bestimmte Listener Interface implementieren und dort eine bestimmte Methode (z.B. actionPerformed) vorhanden ist, die aufgerufen werden kann. Dort führe ich dann meine Aktionen durch, die bei dem Event ausgeführt werden sollen, z.B. andere Methoden aufrufen.
Nur prinzipiell... Was wäre so schlimm gewesen, wenn man statt add(Listener) sowas wie add(Listener(MeineMethode) einführen würde, d.h. ich könnte bestimmen welche Methode (statt actionPerformed) aufgerufen werden könnte.
Angenommen ein Buttonklick soll die Methode "rechne()" aufrufen. Dann würde ich ja bisher add(Listener) durchführen und der Listener implementiert actionPerformed und darin rufe ich dann rechne() auf. Wäre es nicht schöner, wenn man direkt eigene Methodennamen angeben könnte, das also nicht actionPerfomed sondern gleich rechne() aufgerufen wird?
Nachteil an der Sache wäre doch nur, dass nun statt ein stures aufrufen von actionPerfomed nun halt für jeden registrierten Listener ggf. eine andere, eigene Methode aufgerufen werden müsste, d.h. es muss nun etwas mehr gewusst werden als das nur das Listener Interface implementiert wurde.
Wären mit dieser Lösung, dass man eigene Methoden aufrufen lassen könnte, statt nur z.B. actionPerformed, gravierende Nachteile verbunden und wenn ja welche. D.h. was ist der Vorteil von der jetzigen Lösung, was wäre der Nachteil von dieser "meiner" Lösung???
um ein ausgelöstes Event zu verarbeiten bedarf es ja eines Listeners. Prinzipiell ist es ja so, dass das Event auslösende Objekt nur Wissen muss, dass die Ereignisempfänger das bestimmte Listener Interface implementieren und dort eine bestimmte Methode (z.B. actionPerformed) vorhanden ist, die aufgerufen werden kann. Dort führe ich dann meine Aktionen durch, die bei dem Event ausgeführt werden sollen, z.B. andere Methoden aufrufen.
Nur prinzipiell... Was wäre so schlimm gewesen, wenn man statt add(Listener) sowas wie add(Listener(MeineMethode) einführen würde, d.h. ich könnte bestimmen welche Methode (statt actionPerformed) aufgerufen werden könnte.
Angenommen ein Buttonklick soll die Methode "rechne()" aufrufen. Dann würde ich ja bisher add(Listener) durchführen und der Listener implementiert actionPerformed und darin rufe ich dann rechne() auf. Wäre es nicht schöner, wenn man direkt eigene Methodennamen angeben könnte, das also nicht actionPerfomed sondern gleich rechne() aufgerufen wird?
Nachteil an der Sache wäre doch nur, dass nun statt ein stures aufrufen von actionPerfomed nun halt für jeden registrierten Listener ggf. eine andere, eigene Methode aufgerufen werden müsste, d.h. es muss nun etwas mehr gewusst werden als das nur das Listener Interface implementiert wurde.
Wären mit dieser Lösung, dass man eigene Methoden aufrufen lassen könnte, statt nur z.B. actionPerformed, gravierende Nachteile verbunden und wenn ja welche. D.h. was ist der Vorteil von der jetzigen Lösung, was wäre der Nachteil von dieser "meiner" Lösung???