Hi,
ich hätte eine Frage an die Java-Profis.
Ich kann ja einer Swing-JCombobox ein Model übergeben, dass z.B. aus einem Vector von Personen erstellt wurde, pseudocode-mäßig in dieser Art.
myPersons = new Vector();
myPersons.add("Hans", "Meier");
myPersons.add("Hugo", "Schlossgespenst");
myPersons.add("Martha", "Pfahl");
myModel = new DefaultComboBoxModel(myPersons);
jComboBox.setModel(myModel);
... und fertig ist meine ComboBox mit Inhalt.
Was ich nicht verstehe ist, wie es Java/Swing gelingt, dass wenn ich nun eine der Personen ändere, die Combobox automatisch upgedated wird, z.B. ...
myPersons.getElementAt(0).setLastName("newLastName");
Ohne extra Zutun ist der ComboBox-Inhalt aktualisiert.
Ich weiß an dem (DefaultComboBox)Model hängen Listener, aber nicht doch an meiner (eigens-gebastelten) Person-Klasse. Wie weiß der Vector (Basis des Models) bzw. das Model selbst dass sich ein Person-Objekt geändert hat?
Wer kann mir das erklären, wo da ein Listener hängt, und von wo aus der angesteuert wird?
Besten Dank im Voraus!