Wenn ich in einem JPanel mit Borderlayout eine Komponente austausche, wird nach Aufruf von validate() neu dargestellt bzw. gezeichnet.
Wenn ich aber nur eine Komponente entferne und dann validate() aufrufe, dann passiert nichts!
Woran liegt das? Alle Kombinationen mit invalidate, validate und revalidate helfen nicht. Nur ein repaint(). Habe ich da irgendwas nicht verstanden (vermutlich ja)??
Wenn ich aber nur eine Komponente entferne und dann validate() aufrufe, dann passiert nichts!
Woran liegt das? Alle Kombinationen mit invalidate, validate und revalidate helfen nicht. Nur ein repaint(). Habe ich da irgendwas nicht verstanden (vermutlich ja)??
Code:
JPanel meinContainer;
JPanel subContainer;
...
meinContainer.add(subContainer, BorderLayout.CENTER );
...
// ok:
meinContainer.remove(subContainer);
meinContainer.add( new IrgendeinPanel(), BorderLayout.CENTER );
meinContainer.validate();
// hier wird Darstellung nicht aktualisiert:
meinContainer.remove(subContainer);
meinContainer.validate();