Synchronisierte JList und JComboBox?

8

Was ist in Java Swing der beste Weg, um JList und JComboBox in Bezug auf die Daten zu synchronisieren, d. h. die gleiche Liste von Elementen zu einem bestimmten Zeitpunkt zu haben? Wenn ich Elemente zu einem Element hinzufüge (oder Elemente daraus entferne), sollte das andere die Änderung automatisch widerspiegeln.

Ich habe versucht, Folgendes zu tun, aber es scheint nicht zu funktionieren:

%Vor%     
Vicky Chijwani 08.02.2011, 23:06
quelle

2 Antworten

10

Ihre Modelle - das ListModel für die Liste und das ComboboxModel für die Combobox - müssen synchronisiert werden.

Im allgemeinen Fall würde das bedeuten, eine spezielle Implementierung der Modelle zu schreiben, aber in Ihrem Fall haben Sie Glück: DefaultComboBoxModel implementiert tatsächlich ListModel, so dass Sie einfach das gleiche Modellobjekt für Ihre beiden Komponenten verwenden können.

%Vor%     
Paŭlo Ebermann 08.02.2011, 23:13
quelle
5

Sie könnten das gleiche Modell verwenden, wahrscheinlich ein DefaultComboBoxModel, da es ListModel implementiert und daher sowohl für die JComboBox als auch für die JList funktionieren sollte. Zum Beispiel:

%Vor%     
Hovercraft Full Of Eels 08.02.2011 23:10
quelle

Tags und Links