organisation von buttonlistenern

Status
Nicht offen für weitere Antworten.
A

anfängerin

Gast
Hallo, ich habe jetz mein erstes größeres Java-Projekt angefangen und hab eine Frage wie ich meine Buttonlistener organisiere.

Also ich habe mir ein Klasse ButtonListener geschrieben die also hört wenn buttons geklickt wurden.
Ich habe natürlich mehrere Frames ud auf allen sind buttons die immer mit diesem listener verbunden sind.
Die funktionen was gemacht wird habe ich in den jeweililigen Klassen definiert(clicked_ok()...).

Jetzt ist die Frage wie ich diese Methoden aufrufe aus dem ButtonListener.
Ich hab es bisher so, dass ich meine Frames in einer Main anlege und die methoden clicked_... über die main aufrufe.

Jetzt wüsste ich gerne von einem erfahreneren Programmierer ob es eine elegantere Lösung gibt oder ob ihr das auch so macht. ich selber finde es eigentlich nicht so schön, weiß aber auch nix besseres.
sonst würde mir nur noch einfallen in jeder Klasse die von JFrame erbt einen eigenen internen Buttonlistener zu definieren, aber das gefällt mir auch nicht so gut.

Wäre schön wenn ihr mir mal ein paar ideeen zur struktur eines java-projektes geben könntet

lg
 

HLX

Top Contributor
Eine Möglichkeit:
Du schreibst ein Interface "FrameWithButton", welches alle entsprechenden Frames implementieren. Der ButtonListener hält eine Referenz auf eine Instanz dieses Interface. Das Interface deklariert eine "execute"-Methode, die von den einzelnen Frames implementiert wird.

In der "Clicked"-Methode im Listener rufst du diese Methode auf. Dann wird das ausgeführt, was in der execute-Methode der jeweiligen Frame-Instanz definiert ist.
 
G

Gast

Gast
Das mit dem Interface gefällt mir so auf den ersten blick ganz gut, werd ich mal ausprobieren.

Danke
 
A

anfängerin

Gast
dabei bin ich jetzt weider auf eine Frage gekommen:
muss ich dann new ButtonListener(this) machen?
dann gebe ich ihm ja eine Referenz auf die Klasse die das Interface implementiert?
meintest du das?
dann muss ich ja im ButtonListener für jede Klasse die das Interface implementiert einen eigenen Konstruktor schreiben.

Muss ich das so machen mit vielen Konstruktoren oder hab ich was falsch verstanden?
 

HLX

Top Contributor
anfängerin hat gesagt.:
dabei bin ich jetzt weider auf eine Frage gekommen:
muss ich dann new ButtonListener(this) machen?
Korrekt.

anfängerin hat gesagt.:
dann gebe ich ihm ja eine Referenz auf die Klasse die das Interface implementiert?
meintest du das?
dann muss ich ja im ButtonListener für jede Klasse die das Interface implementiert einen eigenen Konstruktor schreiben.

Muss ich das so machen mit vielen Konstruktoren oder hab ich was falsch verstanden?

Nein. Im Konstruktor des ButtonListeners steht als Parameter das Interface.
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben