Freitag, 3. Juli 2009

Fensterrahmen und -titel vom Look and Feel

Gestern habe ich gelernt, dass man Swing dazu anleiten kann die Fensterleiste und den Rahmen durch das aktuelle Look&Feel darzustellen. Normalerweise wird dieser Bereich vom Betriebssystem bereitgestellt, so dass auch das Aussehen zu dem Betriebssystem passt. Wenn man nun aber ein eigenes Look&Feel verwenden möchte passt das manchmal nicht zusammen. Um das einzuschalten braucht man lediglich folgende Zeilen Aufrufen, bevor man die erste JFrame oder JDialog Instanz erstellt hat:

JFrame.setDefaultLookAndFeelDecorated(true);
JDialog.setDefaultLookAndFeelDecorated(true);
System.setProperty("sun.awt.noerasebackground", "true");

Die letzte Property ist um ein Flackern beim Resizing zu unterbinden, die allerdings nur unter Windows funktioniert.

Darauf gestoßen bin ich, als ich mit dem Substance Look&Feel herumgespielt habe und mich wunderte, warum die Fenster auf den Screenshots alle dem Look&Feel angepasst waren. Über die FAQ (Question 16) habe ich dann erfahren wie das geht.

Wieder was gelernt... :)