Heim > Java > javaLernprogramm > Wie verbinde ich eine JList in einem JPanel mit einem JTextPane in einem anderen?

Wie verbinde ich eine JList in einem JPanel mit einem JTextPane in einem anderen?

DDD
Freigeben: 2024-12-07 15:11:16
Original
850 Leute haben es durchsucht

How to Connect a JList in One JPanel to a JTextPane in Another?

Einen Bereich mit einem anderen verbinden

PaneWithList mit der Ausgabe verbinden

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?

PropertyChangeSupport für die Datenausgabe

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.

Beobachtermuster für die Kommunikation verwenden

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.

Beispielimplementierung mithilfe des Beobachtermusters

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() {
Nach dem Login kopieren

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!

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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage