Heim > Java > javaLernprogramm > Wie kann das Observer-Muster den Datenfluss zwischen Java Swing-Komponenten umleiten?

Wie kann das Observer-Muster den Datenfluss zwischen Java Swing-Komponenten umleiten?

Patricia Arquette
Freigeben: 2024-11-29 18:22:11
Original
556 Leute haben es durchsucht

How Can the Observer Pattern Redirect Data Flow Between Java Swing Components?

Verbinden von Pane-Komponenten für den Datenfluss

Innerhalb der bereitgestellten Hauptklasse enthält die PaneWithList-Komponente eine JList, die auf ausgewählte Zeilenänderungen durch Ausgabe reagiert die Auswahl an die Konsole. Um diese Ausgabe an das JTextPane im Ausgaberegister umzuleiten, können wir das Beobachtermuster verwenden.

Beobachtermuster und PropertyChangeListener

Das Beobachtermuster ermöglicht ein Objekt (den Beobachter). ), um auf Änderungen in einem anderen Objekt (dem Beobachtbaren) zu reagieren. In diesem Fall fungiert ein ObserverPanel als Beobachter und überwacht das ObservablePanel (PaneWithList) auf Eigenschaftsänderungen.

PropertyChangeSupport

Um Eigenschaftsänderungsereignisse zu ermöglichen, verwendet das ObservablePanel Javas PropertyChangeSupport-Klasse. Mit dieser Klasse können registrierte Listener Benachrichtigungen erhalten, wenn sich der Wert einer angegebenen Eigenschaft ändert.

Im bereitgestellten Codebeispiel registriert sich das ObserverPanel selbst als PropertyChangeListener für das ObservablePanel. Konkret lauscht es auf Änderungen in der PHYSICIST-Eigenschaft, die das ausgewählte Element im Kombinationsfeld des ObservablePanel darstellt.

Eigenschaftsaktualisierungen

Wenn eine Auswahländerung auftritt Im ObservablePanel löst das Kombinationsfeld ein ActionEvent aus, das den Eigenschaftsänderungs-Listener im ObserverPanel auslöst. Dieser Listener aktualisiert dann die Beschriftung im ObserverPanel mit dem neu ausgewählten Wert.

Implementierungsübersicht

Das ObserverPanel zeigt eine Beschriftung an, die zunächst „null“ anzeigt. Wenn im ObservablePanel eine Auswahl getroffen wird, erhält der Listener die Eigenschaftsänderungsbenachrichtigung und aktualisiert die Beschriftung mit dem Wert des ausgewählten Elements.

Dieser Ansatz leitet die Ausgabe vom ObservablePanel effektiv an das ObserverPanel um, sodass Sie dies tun können Zeigt die ausgewählte Zeile im JTextPane der Ausgaberegisterkarte an.

Das obige ist der detaillierte Inhalt vonWie kann das Observer-Muster den Datenfluss zwischen Java Swing-Komponenten umleiten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage