# Aussehen von Java-Anwendungen ändern

## l3u

Hi :-)

Ich weiß nicht, ob's nur mir so geht, aber Java-Programme (wie z. B. der MusicIP-Mixer, mit dem man PUIDs für MusicBrainz erzeugen kann) sehen per se ziemlich scheiße aus. Gibt es eine Möglichkeit, Java-Programme so wie den KDE-Rest aussehen zu lassen? Oder zumindest überhaupt mal besser? Schriftarten verändern, etc., etc.? Wäre super!

MfG, Libby

----------

## musv

Ich denke nicht, daß das generell möglich ist. Java-Anwendungen setzen auf verschiedene Grafikbibliotheken, z.B. AWT, Swing usw. Und soweit ich weiß, gibt es da keinen Wrapper für die Fensterbibliotheken. 

Die einzigen Java-Anwendungen, die sich in das native Windowdesign einfügen, sind swt-basierte Programme. Ein Beispiel dafür ist Azureus. Für die swt gibt's aber auch wieder mehrere Möglichkeiten für das native Windowdesign. SWT-Anwendungen können auf gtk2, motif, win32, photon oder carbon basieren, wobei mir die letzten beiden auch nichts sagen.

----------

## l3u

Okay ... naja, da kann man wohl nix machen ...

----------

## Hilefoks

Das Look and Feel von Java Anwendungen kann man sehr wohl ändern. Dazu benötigt man natürlich ein entsprechendes 'Theme' (z.B. TinyLaF, Substance, Nimbus oder eines der vielen weiteren...). 

Eine Java Anwendung MyApp startet man nun so (hier mit dem GTK LaF):

```
java -Dswing.laf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel MyApp
```

Man kann aber auch "swing.laf" in der Datei swing.properties setzen.

MfG,

Hilefoks

----------

## l3u

Aber eine zentrale Einstellung für alle Java-Programme gibt's nicht, oder? Sowas wie .gtkrc-2.0

----------

## firefly

 *Libby wrote:*   

> Aber eine zentrale Einstellung für alle Java-Programme gibt's nicht, oder? Sowas wie .gtkrc-2.0

 

wenn die Java Anwendungen ein Java GUI-Toolkit verwendet welches unter Linux GTK verwendet, dann kannst du das Thema auch über die .gtkrc-2.0 ändern. Voraussetzung ist, das die Anwendung nicht sein eigenes Thema verwendet bzw. das Toolkit so einstellt das System-Thema zu ignorieren.

----------

## Hilefoks

 *Libby wrote:*   

> Aber eine zentrale Einstellung für alle Java-Programme gibt's nicht, oder? Sowas wie .gtkrc-2.0

 

Doch. Natürlich nur solange die jeweilige Anwendung diese default-Werte nicht ignoriert/überschreibt.

 *http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/UIManager.html wrote:*   

> If the Properties file swing.properties exists and contains the key swing.defaultlaf, use its value as default look and feel class name. The location of swing.properties may vary depending upon the implementation of the Java platform. In Sun's implementation this will reside in <java.home>/lib/swing.properties. Refer to the release notes of the implementation you are using for further details.

 

Existiert diese Datei nicht, so kann man sie einfach anlegen. Der Inhalt sieht dann etwa so aus:

```
# Swing properties

swing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel
```

MfG,

Hilefoks

----------

## LinuxTom

Schau mal in diesen Thread rein. Mit dieser Methode sind einige Java-Anwendungen unter meinem KDE nicht mehr von reinen KDE-Anwendungen zu unterscheiden.

Voraussetzung ist natürlich, wie es schon andere sagten, dass der Ersteller des Javaprogramms das berücksichtigt hat (GTK-Anbindung). Aber dadurch sehen Firefox, Thunderbird, OpenOffice, Eclipse, ... bei mir wie KDE-Anwendungen aus.

----------

