TabbpedPane Anzeige aktualisieren

  • Themenstarter Themenstarter Mike78
  • Beginndatum Beginndatum
M

Mike78

Gast
Hallo,

ich versuche mich gerade an einem ersten JTabbedPane und habe das Problem, dass die Anzeige nicht aktualisiert wird und zwar:

Ich füge einen ersten Pane hinzu, d.h. ein Panel, das eine JComponent, z.B. einen Button enthält.

Java:
tp.addTab("Titel", panelwithButton);

Funktioniert, wird in der Gui angezeigt.

Dann entferne ich den Button aus dem Panel über einen Aufruf aus dem Programm:
Java:
panelwithButton.remove(meinButton);
//dann tabbedpane aktualisieren
tp.revalidate();

Der Button wird weiterhin angezeigt, aber lässt sich nicht mehr anklicken (weil er ja weg ist).
Erst wenn ich z.B. das Fenster minimiere, oder einen zusätzlichen Tab hinzufügen, wird die Anzeige aktualisiert und der Button verschwindet.

Wie kann ich denn erreichen, dass der TabbedPane automatisch refreshed wird, revalidate() scheint nicht zu helfen.
Dann habe
 
revalidate() wäre wohl eher für panelwithButton angebracht,
aber auch das mehr oder weniger nur geraten,
das ist irgendwie für die meisten (inklusive mir) zu hoch zu durchschauen 😉 bzw. zuviel Detail-Lese-Arbeit
 
Mit validate() + repaint() auf den TabbedPane geht es, danke!

Gilt das dann für alle Komponenten des TabbedPanes, also auch wenn ich mehrere Components auf mehreren Tabs verändert habe, egal wie tief diese in Sub-Sub... Panels der Tabbs liegen oder?
 
grundsätzlich schon, sofern du nicht irgendwo die paint-Methoden überschrieben hast und sauber nur Swing-Komponenten verwendest, sollte das so funktionieren.
 

Neue Themen


Zurück
Oben