Ich habe folgendes Problem:
Wenn ich während der Laufzeit das LAF auf WindowsLookAndFeel oder WindowsStandardLookAndFeel setzte und den default LAF decorator auf true gesetzt habe (JFrame.setDefaultLookAndFeelDecorated(true), JDialog.setDefaultLookAndFeelDecorated(true)) , verschwindet die Titelleiste der Frames und Dialoge)
Hinweis:
JFrame.setDefaultLookAndFeelDecorated(true)) ;
JDialog.setDefaultLookAndFeelDecorated(true)) ;
wird in der main gesetzt.
Der Fehler tritt nur auf, wenn das Programm mit einem anderen LAF (bsp. MetalLookAndFeel) gestartet wird und ich dann zum WindowsLookAndFeel wechsel.
Mir ist auch noch folgendes aufgefallen: Wenn ich das Programm mit dem WindowsLookAndFeel starte und dann zu einem anderen LAF wechsel wird die Titelleiste nicht dem LAF angepasst (es bleibt die Titelleiste des WindowsLookAndFeel). In diesem Fall verschwindet die Titelleiste beim zurückwelchseln aufs WindowsLookAndFell nicht.
Ist euch ein Bug im WindowsLAF bekannt?
Hier noch der Codeausschnitt, in dem ich das LAF änder:
THX im vorraus,
nocxsville.
Wenn ich während der Laufzeit das LAF auf WindowsLookAndFeel oder WindowsStandardLookAndFeel setzte und den default LAF decorator auf true gesetzt habe (JFrame.setDefaultLookAndFeelDecorated(true), JDialog.setDefaultLookAndFeelDecorated(true)) , verschwindet die Titelleiste der Frames und Dialoge)
Hinweis:
JFrame.setDefaultLookAndFeelDecorated(true)) ;
JDialog.setDefaultLookAndFeelDecorated(true)) ;
wird in der main gesetzt.
Der Fehler tritt nur auf, wenn das Programm mit einem anderen LAF (bsp. MetalLookAndFeel) gestartet wird und ich dann zum WindowsLookAndFeel wechsel.
Mir ist auch noch folgendes aufgefallen: Wenn ich das Programm mit dem WindowsLookAndFeel starte und dann zu einem anderen LAF wechsel wird die Titelleiste nicht dem LAF angepasst (es bleibt die Titelleiste des WindowsLookAndFeel). In diesem Fall verschwindet die Titelleiste beim zurückwelchseln aufs WindowsLookAndFell nicht.
Ist euch ein Bug im WindowsLAF bekannt?
Hier noch der Codeausschnitt, in dem ich das LAF änder:
Code:
final void changeLAF(final LookAndFeel i_newLAF) {
try {
UIManager.setLookAndFeel(i_newLAF);
}
catch(UnsupportedLookAndFeelException nonrelevant) {
nonrelevant.printStackTrace();
}
for(Frame currentFrame : Frame.getFrames()) {
SwingUtilities.updateComponentTreeUI(currentFrame);
for(Window currentWindow : currentFrame.getOwnedWindows()) SwingUtilities.updateComponentTreeUI(currentWindow);
}
}
THX im vorraus,
nocxsville.