G
Gelöschtes Mitglied 36296
Gast
Hallo alle zusammen,
ich hab hier im Forum nach Lösungen gesucht und auch eine gefunden, die bei mir aber nicht wirklich funktioniert.
Deswegen schildere hier nochmal mein Problem und hoffe auf Hilfe
Ich hab ein Panel mit RadioButtons. In einem anderen Fenster kann ich die Namen ändern. Diese Namen sind in einer LinkedList<JLabel> gespeichert. (Das mit den JLabels brauch ich aus anderen Gründen, nich wundern ) Anhand der Labels sollen auch die RadioButtons benannt werden.
Hier mal die Methode:
Die Methode bekommt die oben genannte Lables-Liste und eine LinkedList<String> mod. In der mod-Liste steht entweder
d für deleted (also gelöscht)
r für renamed (also Name geändert) oder
n für new (also neues Label angelegt)
das Proble ist, egal was ich auch versuche (sieht man vielleicht schon unten in der Methode mit allen möglichen repaint()- und validate()-Aufrufen), die RadioButtons ändern sich nicht...
ich hoffe es kann mir jemand helfen
Wenn weiterer Code gebraucht wird, einfach melden
Vielen Dank schon mal.
Boldi
ich hab hier im Forum nach Lösungen gesucht und auch eine gefunden, die bei mir aber nicht wirklich funktioniert.
Deswegen schildere hier nochmal mein Problem und hoffe auf Hilfe
Ich hab ein Panel mit RadioButtons. In einem anderen Fenster kann ich die Namen ändern. Diese Namen sind in einer LinkedList<JLabel> gespeichert. (Das mit den JLabels brauch ich aus anderen Gründen, nich wundern ) Anhand der Labels sollen auch die RadioButtons benannt werden.
Hier mal die Methode:
Java:
public void updateRadioButtons(LinkedList<JLabel> labels,
LinkedList<String> mod) {
for (int i = 0; i < mod.size(); i++) {
switch (mod.get(i)) {
case "d":
radioButton_panel.remove(radioButtonList.get(i));
radio_button_group.remove(radioButtonList.get(i));
radioButtonList.remove(i);
mod.remove(i);
i--;
break;
case "r":
radioButtonList.get(i).setText(labels.get(i).getText());
radioButtonList.get(i).validate();
radioButtonList.get(i).updateUI();
mod.set(i, "");
break;
case "n":
radioButtonList.add(i,
new JRadioButton(labels.get(i).getText()));
radio_button_group.add(radioButtonList.get(i));
radioButton_panel.add(radioButtonList.get(i));
radioButtonList.get(i).addItemListener(this);
mod.set(i, "");
break;
default:
break;
}
}
radioButton_panel.validate();
radioButton_panel.updateUI();
radioButton_panel.repaint();
validate();
updateUI();
repaint();
}
Die Methode bekommt die oben genannte Lables-Liste und eine LinkedList<String> mod. In der mod-Liste steht entweder
d für deleted (also gelöscht)
r für renamed (also Name geändert) oder
n für new (also neues Label angelegt)
das Proble ist, egal was ich auch versuche (sieht man vielleicht schon unten in der Methode mit allen möglichen repaint()- und validate()-Aufrufen), die RadioButtons ändern sich nicht...
ich hoffe es kann mir jemand helfen
Wenn weiterer Code gebraucht wird, einfach melden
Vielen Dank schon mal.
Boldi