Heim >Java >javaLernprogramm >Wie kann das Observer-Muster Daten effizient zwischen JTextPane und einem benutzerdefinierten Bereich übertragen?
Wie Daten von einem Bereich zum anderen verkabelt werden
Problem:
Wie geht es Ihnen Ausgabe von paneWithList bei Ausgabe an JTextPane übertragen? Könnte PaneWithList ein Ereignis auslösen, das Main erkennt? Wäre PropertyChangeSupport ausreichend?
Lösung mit dem Beobachtermuster:
Mithilfe des Beobachtermusters kann man eine Eins-zu-Viele-Beziehung herstellen, bei der ein Objekt (der Herausgeber) ) führt eine Liste von Beobachtern und benachrichtigt diese, wenn sich sein Zustand ändert. Dadurch können Beobachter auf Änderungen im Status des Herausgebers reagieren, ohne dass der Herausgeber etwas über die Beobachter weiß.
So verbinden Sie die beiden Bereiche miteinander:
Im folgenden Beispiel ist ObservedPanel das Subjekt und ObserverPanel das Beobachter:
// ********************** ObserverPattern ************************* public class ObserverPanel { // Observer // methods … } public class ObservedPanel { // Subject // methods … } // ******************************************************************
Durch die Implementierung dieses Musters können Sie Komponenten effizient miteinander verbinden und so sicherstellen, dass Änderungen in einer Komponente in anderen relevanten Komponenten gespiegelt werden.
Das obige ist der detaillierte Inhalt vonWie kann das Observer-Muster Daten effizient zwischen JTextPane und einem benutzerdefinierten Bereich übertragen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!