UIManager – „Java in hübsch“

Swing-Anwendungen sehen erstmal etwas „gewöhnungsbedürftig“ aus. Um dies zu ändern, kann man den UIManager nutzen:

UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());

Mit dieser kleinen Zeile hat man seiner Java-Anwendung das Aussehen des „Betriebssystems“ verpasst.


Aber es geht noch mehr. Man kann nicht nur zwischen dem Layout wechseln, welches auf allen Plattformen vorhanden ist (UIManager.getCrossPlatformLookAndFeelClassName()), sondern auch der Kreativität freien Lauf lassen und eigene LookAndFeels erstellen (Guidelines)- aber das geht zu weit. Versuchen wir mit den bereits installierten auszukommen:

final Map selectableLafs = new HashMap();
// alle installierten LookAndFeels ermitteln
final LookAndFeelInfo[] lafs = UIManager.getInstalledLookAndFeels();
for(LookAndFeelInfo laf : lafs) {
selectableLafs.put(laf.getName(), laf.getClassName();
}

In dem Objekt selectableLafs sind nun alle LookAndFeels gespeichert, welche auf dem System installiert sind. Um nun ein LookAndFeel auszuwählen (nennen wir es mal ‚windows‘), müsst ihr nun den folgenden Code nutzen:
UIManager.setLookAndFeel(selectableLafs.get('windows'));

So weit so gut, ABER: Dies funktioniert nur solange, wie ihr euer JFrame (oder eure anderen Componenten) noch nicht angezeigt habt. Wollt ihr während der Laufzeit (Sichtbarkeit des Fensters/der Komponenten) euer LAF anpassen, dann solltet ihr noch ein Update auf eure Components machen mittels:
SwingUtilities.updateComponentTreeUI(topWindow);

Sollten die vorhanden L&Fs nicht ausreichen, dann könnte euch vielleicht die Seite Javootoo.com glücklich machen.


Beitrag veröffentlicht

in

,

von

Schlagwörter:

Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert