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:


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.

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.


@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
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.