Ich wende die
SwingUtilities.updateComponentTreeUI auf einen JFrame. Bei den default Look and Feels sehe ich keine Schwierigkeiten, eher wenn ich externe Look and Feels einsetze. Weil aber beim neustart auch alles wunderbar funktioniert müsste es doch möglich sein das irgendwie zu reseten.
Die FileChooserDemo auf Oracle (
FileChooserDemo.java) hilft nicht wirklich weiter weil die Demo nicht einmal
SwingUtilities.updateComponentTreeUI einsetzt geschweige irgendwo das
setLookAndFeel. Kann es sein das du dich auf ein anderes Projekt bezogen hast?
Validate hat beim JFrame auch nicht zum gewünschten effekt geführt.
Ein Problem hatte ich letztes mit dem
Tonic Look and Feel das beim JToolBar den zwischenraum mit
add(Box.createHorizontalGlue) ignoriert. Dieses Verhalten bleibt auch bestehen wenn wieder zum Metal Look and Feel gewechselt wird (deshalb die Idee mit dem reseten). Provisorisch hab ich jetzt aber mal das Tonic Look and Feel rausgeschmissen.
Probleme macht auch das
Napkin Look and Feel weil beim zurückschalten auf das Metal Look and Feel bleiben die Konturen der Buttons dem alten Napkin Look and Feel treu. Ich glaube ich werde um einen Reset nicht herum kommen, fragt sich nur wie das funktioniert. Technisch müsste das eigentlich möglich sein, weil beim neustart alle Look and Feels sauber funktionieren.
Und ich hab da noch eine Frage, gibt es eine Methode die alle Root Komponente auflistet? Oder muss ich wie beim dynamischen i18n Ansatz (
hier beschrieben) mit Listener arbeiten die beim wechseln der LAFs allen Root Komponenten informieren sie sollen sich selbst mit
SwingUtilities.updateComponentTreeUI updaten?