Hallo,
ich bin gerade dabei eine GUI zu erstellen. Konkret sollen jetzt in einem JPanel (specialDetail) die Komponenten geändert werden, wenn sich der Wert einer JCombobox ändert. Die Änderung in der Box lasse ich mit einem ActionListener abfangen, der daraufhin den Wert der Combobox ausliest und als Parameter der Methode setSpecialDetail übergibt.
Die Methode sieht wie folgt aus:
Das Problem ist jetzt, dass das Neuzeichnen von specialDetail einmal mit jeder if-Bedingung funktioniert, aber danach nicht mehr. Die Methode wird aber definitiv mit dem richtigen Parameter aufgerufen und wenn man das Fenster vergrößert, ist das neue Panel auch zu sehen.
Ich nehme also an, dass das an validate() liegt. Ich habe auch schon specialDetail.validate() probiert mit demselben Ergebnis.
mfG eidel
ich bin gerade dabei eine GUI zu erstellen. Konkret sollen jetzt in einem JPanel (specialDetail) die Komponenten geändert werden, wenn sich der Wert einer JCombobox ändert. Die Änderung in der Box lasse ich mit einem ActionListener abfangen, der daraufhin den Wert der Combobox ausliest und als Parameter der Methode setSpecialDetail übergibt.
Die Methode sieht wie folgt aus:
Java:
public void setSpecialDetail(String name){
if (name.contains("rohr") || name.contains("Rohr") || name.contains("Flacheisen") || name.contains("flacheisen") || name.contains("Winkelstahl") || name.contains("winkelstahl")){
specialDetail.removeAll();
specialDetail.add(pLength);
specialDetail.add(Box.createVerticalGlue());
validate();
}
else if (name.contains("blech") || name.contains("Blech")){
specialDetail.removeAll();
specialDetail.add(pWidth);
specialDetail.add(pHight);
specialDetail.add(pThickness);
specialDetail.add(Box.createVerticalGlue());
validate();
}
else {
specialDetail.removeAll();
specialDetail.add(Box.createGlue());
validate();
}
}
Ich nehme also an, dass das an validate() liegt. Ich habe auch schon specialDetail.validate() probiert mit demselben Ergebnis.
mfG eidel