6 Stimmen

Swing - Ersatz für Qt Signal/Slots

In Qt GUIs ist es sehr praktisch, Signale und Slots zu verwenden - sie entkoppeln die Weitergabe von Ereignissen. Wenn ich ein Widget erstelle, das ein Signal auslöst, muss ich nicht im Voraus wissen, wer es bekommen kann, und später mit connect Ich gebe Verbindungen an.

Was ist parallel in Java/Swing? Können Sie auf gute Quellen zu diesem Thema verweisen?

5voto

trashgod Punkte 199887

Wenn keine der vorhandenen EventListener Implementierungen Ihren Anforderungen entsprechen, können Sie Ihr eigenes benutzerdefiniertes Ereignis erstellen. Jede JComponent enthält ein Feld vom Typ EventListenerList . Sie können den Ansatz aus dem Abschnitt EventListenerList API zu aktivieren, um Ihre benutzerdefinierte JComponent Unterklasse, um Ihr benutzerdefiniertes Ereignis auszulösen.

Was den Signal-/Slot-Mechanismus betrifft, so bietet Swing mehrere Möglichkeiten zur Implementierung der Beobachtungsmuster , skizziert ici .

1voto

Atreys Punkte 3713

Diese Ereignis-Listener-Tutorial geht auf die Grundlagen der Behandlung von Ereignissen mit Zuhörern ein.

Das Verbinden Ihres Slots für ein Signal ist analog zum Hinzufügen Ihres EventListeners zu einem ereigniserzeugenden Objekt.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X