# JComboBox - veränderliche Daten



## Samuel72 (1. Mai 2011)

Hallo zusammen,

ich habe eine JComboBox, deren Datenmodel ein DefaultComboBoxModel ist.
Die Daten ändern sich ständig.
Weiß jemand, wie ich eine Datenänderung der JComboBox mitteilen kann?

(Ich bräuchte so etwas ähnliches wie beim JTable [c]AbstractTableModel.fireTableDataChanged()[/c])


----------



## Michael... (1. Mai 2011)

API Doku? DefaultComboBoxModel (Java Platform SE 6)
--> Method summary
von AbstractListModel geerbte Methoden:AbstractListModel (Java Platform SE 6)


----------



## Samuel72 (1. Mai 2011)

Hallo Michael,

vielen Dank für deine Antwort. 
So weit war ich auch schon gekommen, 
aber ich hab's trotzdem nicht hinbekommen, 
da die Methode [c]fireContentsChanged[/c] vom AbstractListModel protected ist 
und ich von meinem DefaultComboBoxModel aus nicht darauf zugreifen kann.


----------



## Michael... (2. Mai 2011)

Sorry, hatte das so verstanden, dass Du ein Model verwendest, welches von DefaultComboBoxModel erbt.
Wie änderst Du denn die Daten des Models bzw. welche Methoden benutzt Du? Wenn Du die Methoden des DefaultComboBoxModels zum Ändern der Daten nutzt, wird die ComboBox ja "automatisch" darüber informiert.


----------



## Samuel72 (2. Mai 2011)

Hallo Michael,

sorry, ich bin erst jetzt wieder am Computer.

Vielleicht sollte ich mal ein bisschen Code posten:
Mein DefaultComboBoxModel cbm wird folgendermaßen definiert:

```
cbm = new DefaultComboBoxModel() {
  public int getSize() {return 6;}
  public String getElementAt(int i) {
    return ""+grs[i]+"x"+grs[i]+" "+schwere[i%2]+" ("+queue[i].size()+")";
  };
```
Wenn ich auf die JComboBox klicke, dann erscheinen die einzelnen Einträge auch korrekt,
aber ich weiß nicht, wie ich den gerade ausgewählten Eintrag aktualisieren soll 
(wenn zur queue_ ein Element hinzugefügt wird und sich damit ihre size() ändert)._


----------



## Michael... (3. Mai 2011)

Geht es nur darum, den aktuell in der ComboBox selektierten/angezeigten Wert zu aktualisieren, nachdem sich die Daten des Models geändert haben?
Dann müsste ein einfaches 
	
	
	
	





```
setSelectedItem(neuesObjekt)
```
 auf ComboBox oder Model ausreichen.


----------



## Samuel72 (3. Mai 2011)

Hallo Michael,

super, [c]setSelectedItem[/c] tut es!

Vielen Dank!


----------

