Hi,
ich habe eine JComboBox, die bei Änderungen aktualisiert wird, in dem ich das Model neu setze...
Nun soll aber bei einer Aktualisierung bzw. dem neuen Model, die vorherige Auswahl des "Items" (sofern natürlich noch vorhanden) wieder hergestellt werden.
Der JComboBox übergebe ich Obejekte, die über eine ID verfügen, so dass ich sie dadurch identifizieren kann.
Die einfachste Umsetzungsmöglichkeit ist natürlich, dass man sich vor dem Aktualisieren, die gewählte Objekt-ID holt und nach der Aktualisierung die Items nach der entsprechenden ID durchsucht und bei positiver Suche den aktuellen Index setzt...
Gibt es da einfachere Möglichkeiten als mit z.B. einer for-Schleife alle Objekte durchzugehen und sie mit der gesicherten ID zu vergleichen?
Das ist so ne Holzhammermethode wie ich finde. Geht das eleganter?
Was übrigens nicht bei mir funktionier hat, war sich direkt das Item zu besorgen und es danach wieder zu setzen:
Macht auch nicht wirklich Sinn, denn wenn ich ausgerechnet das vorgewählte Item z.B. im Namen ändere, soll es ja trotzdem hinterher ausgewählt sein und das ist ja mit obigem Code nicht möglich, so dass der Ansatzpunkt schon die ID sein muss...
ich habe eine JComboBox, die bei Änderungen aktualisiert wird, in dem ich das Model neu setze...
Nun soll aber bei einer Aktualisierung bzw. dem neuen Model, die vorherige Auswahl des "Items" (sofern natürlich noch vorhanden) wieder hergestellt werden.
Der JComboBox übergebe ich Obejekte, die über eine ID verfügen, so dass ich sie dadurch identifizieren kann.
Die einfachste Umsetzungsmöglichkeit ist natürlich, dass man sich vor dem Aktualisieren, die gewählte Objekt-ID holt und nach der Aktualisierung die Items nach der entsprechenden ID durchsucht und bei positiver Suche den aktuellen Index setzt...
Gibt es da einfachere Möglichkeiten als mit z.B. einer for-Schleife alle Objekte durchzugehen und sie mit der gesicherten ID zu vergleichen?
Das ist so ne Holzhammermethode wie ich finde. Geht das eleganter?
Was übrigens nicht bei mir funktionier hat, war sich direkt das Item zu besorgen und es danach wieder zu setzen:
Java:
object = comboBox.getSelectedItem();
// aktualisierung
comboBox.setSelectedItem(object);
Macht auch nicht wirklich Sinn, denn wenn ich ausgerechnet das vorgewählte Item z.B. im Namen ändere, soll es ja trotzdem hinterher ausgewählt sein und das ist ja mit obigem Code nicht möglich, so dass der Ansatzpunkt schon die ID sein muss...