In der Hauptklasse Main.java haben wir mehrere Bereiche, einschließlich PaneWithList und Output . PaneWithList enthält eine JList, die Daten anzeigt, während Output ein JTextPane ist, das die in der JList ausgewählten Daten anzeigen soll. Es stellt sich die Frage: Wie können wir PaneWithList mit Output verbinden, um dies zu erreichen?
Eine mögliche Lösung ist die Verwendung von PropertyChangeSupport. Dieser Mechanismus ermöglicht es PaneWithList, ein Ereignis auszulösen, wenn eine Zeile in der JList ausgewählt wird. Main kann auf dieses Ereignis warten und das Ausgabe-JTextPane entsprechend aktualisieren.
Ein anderer Ansatz besteht darin, das Beobachtermuster zu verwenden. In diesem Muster ist PaneWithList ein Observable, das seine Beobachter benachrichtigt, wenn sich Daten ändern. Die Ausgabe kann ein Beobachter sein, der auf diese Änderungen hört und sich selbst aktualisiert.
Das bereitgestellte Codefragment zeigt, wie das Beobachtermuster implementiert wird, um PaneWithList mit der Ausgabe zu verbinden:
import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; class ObserverPanel extends JPanel { private JLabel title = new JLabel("Value received: "); private JLabel label = new JLabel("null", JLabel.CENTER); public ObserverPanel() {
Das obige ist der detaillierte Inhalt vonWie verbinde ich eine JList in einem JPanel mit einem JTextPane in einem anderen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!