Wie kann ich eine Java-App für die Verwendung des GTK + -Themas erhalten?

Antworten:

29

Sie können versuchen, Javas Standard-Look & Feel auf GTK zu setzen:

Öffnen Sie ein Terminal (Strg + Alt + T) und fügen Sie das obere für openjdk und das untere für sun java ein.

gksu gedit /usr/lib/jvm/java-6-openjdk/jre/lib/swing.properties

gksu gedit /usr/lib/jvm/java-6-sun/jre/lib/swing.properties

  • Folgen Sie dem Kommentar in dieser Datei und entfernen Sie das Hash-Zeichen, so dass es so aussieht:

    # uncomment to set the default look and feel to GTK
    swing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel
  • Speichern Sie die Java-App und starten Sie sie neu.

Vorher und nachher:

Drehmoment
quelle
habe es nicht behoben, aber immer noch sehr nützlich für mich :) danke!
RolandiXor
2
Vielen Dank. Ich habe dies als Tipp verwendet, habe es aber stattdessen getan. UIManager.setLookAndFeel("com.sun.java.swing.plaf.gtk.GTKLookAndFeel");Das erfordert keine Bearbeitung der Konfigurationsdatei.
Xconspirisist
@RolandiXor Wenn dies nicht funktioniert hat, bedeutet dies, dass der Entwickler der App das Erscheinungsbild fest codiert hat. Daran können Sie nichts ändern, es sei denn, es handelt sich um Open Source. :(
Stommestack
1
Ich musste den Fehler "jdk bold font" beheben. Vielen Dank.
MInner
Für universalmediaserver auf Ubuntu Mate 14 nicht
behoben
10

Wenn Sie die obigen Lösungen bereits ausprobiert haben - versuchen Sie es mit dieser (hat mir bei Xfce geholfen):

  1. export _JAVA_OPTIONS='-Dawt.useSystemAAFontSettings=on -Dswing.aatext=true -Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel -Dswing.crossplatformlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel'

  2. Dann starte in diesem Terminal deine App.

  3. Wenn Sie mit dem Ergebnis zufrieden sind, fügen Sie diese Zeile zu Ihrer ~/.profileDatei hinzu.
Yanpas
quelle
Diesen in Putting ~/.profilenicht für mich Arbeit, aber ich habe _JAVA_OPTIONS="-Dawt.useSystemAAFontSettings=on -Dswing.aatext=true -Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel -Dswing.crossplatformlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel" in /etc/environment( man beachte die Verwendung von doppelten anstatt einfachen Anführungszeichen und dem fehlenden export, sonst wird die Magie nicht funktioniert).
Photon
Funktioniert gut mit SweetHome3D und Ubuntu 18.04
NicolasSmith
7

Wenn Sie Entwickler oder Open Source-Entwickler sind, können Sie alternativ das Erscheinungsbild der Anwendung ändern. Fügen Sie den folgenden Code in die mainMethode ein.

for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
    if ("com.sun.java.swing.plaf.gtk.GTKLookAndFeel".equals(info.getClassName())) {   
       javax.swing.UIManager.setLookAndFeel(info.getClassName());
       break;
     } 
}

Dies könnte auch hilfreich sein.

Giannis Christofakis
quelle
@Jop Bist du dir bei anderen Plattformen sicher? Was ist mit KDE-Themen?
Giannis Christofakis
1
Verzeihung, ich habe mich geirrt, sorry. Aber warum nicht einfach javax.swing.UIManager.setLookAndFeel("com.sun.java.swing.plaf.gtk.GTKLookAndFeel");?
Stommestack
2
@Jop Da JavaAnwendungen plattformunabhängig sind, sollten Sie überprüfen, ob das GTKTheme auf Ihrem System installiert ist.
Giannis Christofakis