Come posso ottenere un'app Java per utilizzare il tema GTK +?


Risposte:


29

Puoi provare a impostare l'aspetto predefinito di Java su GTK:

Apri un terminale (Ctrl + Alt + T) e incolla quello superiore per openjdk e quello inferiore per 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

  • Segui il commento in quel file e rimuovi il segno hash, quindi sembra:

    # uncomment to set the default look and feel to GTK
    swing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel
  • Salva e riavvia l'app java.

Prima e dopo:


non l'ho risolto, ma comunque molto utile per me :) grazie!
RolandiXor

2
Grazie. L'ho usato come suggerimento ma invece l'ho fatto; UIManager.setLookAndFeel("com.sun.java.swing.plaf.gtk.GTKLookAndFeel");che non richiede alcuna modifica al file di configurazione.
xconspirisist,

@RolandiXor Se questo non ha funzionato, significa che lo sviluppatore dell'app ha codificato l'aspetto. Niente che puoi fare al riguardo, a meno che non sia open-source. :(
stommestack,

1
Mi ha aiutato a risolvere il bug "jdk bold font". Grazie.
Martedì

Non corretto per universalmediaserver su Ubuntu Mate 14.
NicolasSmith

10

Se hai già provato le soluzioni di cui sopra - prova a utilizzare questo (mi ha aiutato su 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. Quindi avvia in questo terminale la tua app.

  3. Se sei soddisfatto del risultato, aggiungi questa riga al tuo ~/.profilefile.

Mettendo questo in ~/.profilenon ha funzionato per me, ma ho messo _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(nota l'uso delle virgolette doppie, piuttosto che singoli e dei dispersi export, altrimenti la magia non funziona).
Fotone

Funziona bene con SweetHome3D e Ubuntu 18.04
NicolasSmith il

7

Se sei lo sviluppatore o è un open source, un modo alternativo è quello di cambiare l'aspetto dell'applicazione. Inserisci il codice seguente nel mainmetodo

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

Questo potrebbe anche essere utile.


@Jop Sei sicuro di altre piattaforme? E i temi di KDE?
giannis christofakis,

1
Non importa, mi sbagliavo, scusa. Ma perché non solo javax.swing.UIManager.setLookAndFeel("com.sun.java.swing.plaf.gtk.GTKLookAndFeel");?
Stommestack,

2
@Jop Poiché le Javaapplicazioni sono indipendenti dalla piattaforma, è necessario verificare se il GTKtema è installato nel sistema.
giannis christofakis,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.