WindowsLookAndFeel>JFrame/JDialogTitelleiste verschwindet

Status
Nicht offen für weitere Antworten.

nocxsville

Bekanntes Mitglied
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:

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.
 

nocxsville

Bekanntes Mitglied
Ich hab den Grund für das Verschwinden der Titelleiste gefunden.
Es liegt daran das einige (wenige) LAFs die Fensterdekoration selbst (nicht-nativ) zeichnen und während andere Look and Feel meistens die native Fensterdekoration des Betriebssystems verwenden. Das WindowsLookAndFeel wird (logischerweise) die native Fensterdekoration verwenden. Jetzt ist nur die Frage, wie ich mein Problem behebe. Ich habe auch schon versucht JFrame.setDefaultLookAndFeelDecorated(false) zu setzen bevor ich das LAF auf WindowsLookAndFeel umstelle. Leider ohne den gewünschten Erfolg. Hat vielleicht einer von euch eine Idee?

Quelle

Gruß,
nocxsville
 

Wildcard

Top Contributor
Damit es wirklich passt, musst du nach dem Ändern des LnFs alle GUI Objekte neu erzeugen.
Warum änderst du das LnF überhaupt zur Runtime?
 

nocxsville

Bekanntes Mitglied
Wildcard hat gesagt.:
Damit es wirklich passt, musst du nach dem Ändern des LnFs alle GUI Objekte neu erzeugen.
Warum änderst du das LnF überhaupt zur Runtime?

Weil der Benutzer meiner Anwendungen diese an seine Wünsche anpassen möchte (und zwar ohne Neustart der Anwendung). Das war ja auch eins der Erneuerungen SWINGs gegenüber AWT (das es LAFs gibt und man diese während der Laufzeit ändern kann). Dann werd ich das halt so machen müssen (Objekte neu erzeugen), betrifft ja eh nur die Dialoge und Frames, obwohl ich auch ein paar kleine Anzeigefehler in anderen Komponenten gesehen habe, aber die waren unwesentlich. Schön ist das aber nicht und vor allem nicht im Sinne des Erfinders. Also an alle die auch vor diesem Problem stehen. Entweder nur LAFs anbieten die ihre Fensterdekoration selbst (nicht-nativ) zeichnen ODER ausschließlich LAFs verwenden die native Fensterdekoration des Betriebssystems verwenden.

Gruß,
nocxsville.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
DonBronson Gezeichnetes Objekt verschwindet nachdem erneut gezeichnet wird AWT, Swing, JavaFX & SWT 8
S Nach scrollen verschwindet das zuvor im JPanel gezeichnete AWT, Swing, JavaFX & SWT 2
S Swing JButton verschwindet nach Compilieren AWT, Swing, JavaFX & SWT 8
E Button verschwindet nachdem ein Rechteck gezeichnet wurde AWT, Swing, JavaFX & SWT 5
BreakdownBob Swing JLabel verschwindet hinter Image AWT, Swing, JavaFX & SWT 2
it_is_all JPanel verschwindet nach Button-Klick AWT, Swing, JavaFX & SWT 2
E Swing Text verschwindet AWT, Swing, JavaFX & SWT 1
M Swing jButton Text verschwindet AWT, Swing, JavaFX & SWT 2
javampir Java FX Text verschwindet nicht AWT, Swing, JavaFX & SWT 9
A Swing Koordinatensystem wird gezeichnet verschwindet aber und die Einteilungen bleiben nicht bestehen AWT, Swing, JavaFX & SWT 5
R TriangleMesh verschwindet teilweise beim resizen des Frames, sowie beim rotieren? AWT, Swing, JavaFX & SWT 1
T AWT JTextfield verschwindet AWT, Swing, JavaFX & SWT 10
S LayoutManager TextField verschwindet / wird klein AWT, Swing, JavaFX & SWT 4
D Swing JOptionPane verschwindet beim 2. Aufruf einfach so?? AWT, Swing, JavaFX & SWT 2
J JPanel verschwindet... AWT, Swing, JavaFX & SWT 8
L Border verschwindet durch Graphics.drawImage() AWT, Swing, JavaFX & SWT 4
frankred Swing JMenu verschwindet nicht beim klicken ausserhalb des JMenu! AWT, Swing, JavaFX & SWT 4
P Swing Jtable mit Delete Button (Button verschwindet nicht bei Delete)) AWT, Swing, JavaFX & SWT 5
G Menü verschwindet durch .setText() AWT, Swing, JavaFX & SWT 4
J JTextArea verschwindet bei resize vom JFrame AWT, Swing, JavaFX & SWT 2
N JMenuBar verschwindet nicht nach ComponentEvent AWT, Swing, JavaFX & SWT 6
K 2D-Grafik Linie verschwindet beim Zeichnen AWT, Swing, JavaFX & SWT 10
S JCheckBoxMenuItem - Haekchen verschwindet bei Icon AWT, Swing, JavaFX & SWT 3
S Beim Painten auf JPanel verschwindet das Bild :( AWT, Swing, JavaFX & SWT 10
Iron Monkey SwingWorker verschwindet nicht AWT, Swing, JavaFX & SWT 10
O JPanel Zeichnung verschwindet AWT, Swing, JavaFX & SWT 4
F Zeichnung verschwindet bei Nutzung von einem Layout AWT, Swing, JavaFX & SWT 6
R JTable Headerbeschriftung verschwindet AWT, Swing, JavaFX & SWT 3
Dit_ Zeilenmarkierung verschwindet nach repaint() AWT, Swing, JavaFX & SWT 12
R Panel verschwindet AWT, Swing, JavaFX & SWT 2
P JTextArea text verschwindet bei mausklick AWT, Swing, JavaFX & SWT 5
R Bei JDialog verschwindet der Inhalt aus übergeordneten Frame AWT, Swing, JavaFX & SWT 2
X Durch DrawLine verschwindet das Fenster und die Objekte AWT, Swing, JavaFX & SWT 13
G Zeichnung verschwindet nach verändern der Fenstergröße. AWT, Swing, JavaFX & SWT 2
K Zeichnung verschwindet. AWT, Swing, JavaFX & SWT 21
A gezeichnete Linie verschwindet, wenn ich JMenuBar öffne AWT, Swing, JavaFX & SWT 2
C Menue verschwindet hinter AWT-List Box.wie beheben? AWT, Swing, JavaFX & SWT 3
M JMenu verschwindet unter ScrollPane AWT, Swing, JavaFX & SWT 3
G wie verschwindet Konsole? AWT, Swing, JavaFX & SWT 3
V JDialog "verschwindet" beim umschalten in der Task AWT, Swing, JavaFX & SWT 9
R JFrame verschwindet sofort hiner dem Hauptframe AWT, Swing, JavaFX & SWT 9
M Menüleiste verschwindet AWT, Swing, JavaFX & SWT 6
H Hintergrundbild im Panel verschwindet sofort AWT, Swing, JavaFX & SWT 6
I Swing: Menü verschwindet beim Einfügen eines Bildes AWT, Swing, JavaFX & SWT 15
D DropDownSelection Box verschwindet hinter JTextArea AWT, Swing, JavaFX & SWT 2
Z bei kleinen Buttons verschwindet Schrift, obwohl Platz wäre AWT, Swing, JavaFX & SWT 5

Ähnliche Java Themen

Neue Themen


Oben