Java Aktion Hörer Frage
-
28-09-2019 - |
Frage
Ich erstelle ein benutzerdefiniertes JPanel Element (ein Login-Formular).
Ich möchte den Menschen ermöglichen, die meine Panel verwenden, um zu abonnieren / hören zu einer Veranstaltung namens „loginSuccessful“.
Was ist der beste Weg, dies in meinem JPanel-Objekt zu implementieren?
UPDATE: oh, und ich möchte auch hinzufügen, dass, wenn diese Aktion ausgelöst wird, ich möchte auch ein „User“ Objekt zurückgeben, die Person enthält, die nur protokollierte in
Lösung
Ich ziehe normalerweise EventBus für diese Art von Veranstaltungen.
In der Bibliothek und Beispiele finden Sie hier
findenDarüber hinaus sollten Sie Businesslogik aus Ihrem viewclass (Panel) und schaffen eine Art von LoginController für Ihre loginbusinesslogic zu halten betrachten. Es gibt viele gute Beispiele gibt.
EDIT: Sie können ein Benutzerobjekt innerhalb eines EventBusEvent als auch senden.
Andere Tipps
würde ich durch die Trennung Code Form Widget-Code starten. Sie erstreckt sich nicht, wenn Sie nicht müssen. Wo Klassen auf einem bestimmten Job fokussiert sind, wird alles so viel einfacher.