Comment puis-je obtenir une application Java pour utiliser le thème GTK +?

Réponses:

29

Vous pouvez essayer de définir l'apparence par défaut de Java sur GTK:

Ouvrez un terminal (Ctrl + Alt + T) et collez le supérieur pour openjdk et le inférieur pour sun java.

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

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

  • Suivez le commentaire dans ce fichier et supprimez le signe de hachage, pour qu'il ressemble à ceci:

    # uncomment to set the default look and feel to GTK
    swing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel
    
  • Enregistrez et redémarrez l'application java.

Avant et après:

htorque
la source
n'a pas résolu le problème, mais reste très utile pour moi :) merci!
RolandiXor
2
Merci. Je l'ai utilisé comme astuce, mais à la place; UIManager.setLookAndFeel("com.sun.java.swing.plaf.gtk.GTKLookAndFeel");qui ne nécessite aucune modification du fichier de configuration.
xconspirisist
@RolandiXor Si cela n'a pas fonctionné, cela signifie que le développeur de l'application a codé en dur l'apparence. Vous ne pouvez rien y faire, à moins qu'il ne soit open-source. :(
stommestack
1
Cela m'a aidé à résoudre le bogue "jdk bold font". Merci.
MInner
Pas de correction pour universalmediaserver sur Ubuntu Mate 14.
NicolasSmith
10

Si vous avez déjà essayé les solutions ci-dessus - essayez d'utiliser ceci (m'a aidé sur Xfce):

  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. Lancez ensuite dans ce terminal votre application.

  3. Si vous êtes satisfait de votre résultat, ajoutez cette ligne à votre ~/.profilefichier.
yanpas
la source
Mettre cela en ~/.profilen'a pas fonctionné pour moi, mais je mets _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" en /etc/environment(note l'utilisation de doubles plutôt que des guillemets simples et disparus export, sinon la magie ne fonctionne pas).
Photon
Fonctionne bien avec SweetHome3D et Ubuntu 18.04
NicolasSmith
7

Si vous êtes le développeur ou qu'il s'agit d'une source ouverte, une autre façon consiste à changer l'apparence de l'application. Insérez le code ci-dessous dans la mainméthode.

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;
     } 
}

Cela pourrait également être utile.

giannis christofakis
la source
@Jop Êtes-vous sûr des autres plateformes? Qu'en est-il des thèmes KDE?
giannis christofakis
1
Peu importe, j'avais tort, désolé. Mais pourquoi pas juste javax.swing.UIManager.setLookAndFeel("com.sun.java.swing.plaf.gtk.GTKLookAndFeel");?
stommestack
2
@Jop Étant donné que les Javaapplications sont indépendantes de la plateforme, vous devez vérifier si le GTKthème est installé sur votre système.
giannis christofakis