JComboBoxen updaten

jean luc

Mitglied
Hallo,
ich lege in ein JPanel mehrere JComboBoxen.
Durch klick auf einen Button soll sich der Inhalt sowie die Anzahl der Boxen verändern.

Um das zu erreichen, führe ich auf dem JPanel removeAll() aus und
fülle das JPanel wieder mit den geänderten Boxen.
Das funktioniert auch. Wenn ich jetzt allerdings die Werte der Boxen mit
getSelectedItem() abfrage erhalte ich immer die Werte der ersten Boxen, so als wenn die neuen zwar sichtbar sind aber nicht angesprochen werden.

Zusätzlich habe ich dann auf das Panel repaint() ausgeführt, hat aber nichts gebracht.

Wo liegt der Fehler, warum kann ich in ein JPanel nicht einfach neue Boxen legen?

Gruß SIMON
 
Hallo Simon,
eine genaue Idee habe ich auch nicht, aber ich denke mal es liegt am Model.
Wenn du zu den JCombos noch ein DefaultComboBoxModel erstellst und darin deine Daten verwaltest und dann mit setModel(DefaultComboBoxModel) die Daten übergibst, kannst du auf jeden Fall sicher sein, das die aktuellen Daten zu einer JComboBox gehören.
 
HI,
hier mal die Methode mit der ich die Boxen hinzufüge:

private void erstelleSpieltag(int anzahl) throws Exception {

// fuelle und setze boxen
for (int i = 0; i < anzahl; i++) {

JComboBox heim_cx = new JComboBox();
JComboBox gast_cx = new JComboBox();

//fülle die Boxen, hier werden aus einem Vektor Elemente zur Box hinzugefügt
fuelleSetzeTeamBox(heim_cx);
fuelleSetzeTeamBox(gast_cx);

// in diesen Vektor stecke ich die Boxen, um später auf diese zugreifen zu können
teamsCX_vr.addElement(heim_cx);
teamsCX_vr.addElement(gast_cx);

gast_cx.setBounds(280, 85 + i * 25, 200, 20);
heim_cx.setBounds(15, 85 + i * 25, 200, 20);

// Hinzufügen der Boxen zum JPanel
spieltagInfos_pl.add(heim_cx);
spieltagInfos_pl.add(gast_cx);
}

und hier der Aufruf und die Aktualiseirung

private void spieltagAendern(int anzahl) throws Exception{
// lösche den Inhalt des JPanels
spieltagInfos_pl.removeAll();

erstelleSpieltag(neueNr);

spieltagInfos_pl.repaint();
}

Wenn ich nun die Boxen aus dem Vektor hole, funktioniert das vor der ersten Aktualisierung super, danach nicht mehr.

Woran kann das liegen?

Gruß SIMON
 
Zurück