Jak mogę uzyskać aplikacje Java do korzystania z motywu GTK +?

Odpowiedzi:

29

Możesz spróbować ustawić domyślny wygląd Javy na GTK:

Otwórz terminal (Ctrl + Alt + T) i wklej górny dla Openjdk, a dolny dla 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

  • Postępuj zgodnie z komentarzem w tym pliku i usuń znak skrótu, aby wyglądał następująco:

    # uncomment to set the default look and feel to GTK
    swing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel
    
  • Zapisz i uruchom ponownie aplikację Java.

Przed i po:

htorque
źródło
nie naprawiłem tego, ale nadal bardzo mi się przydaje :) dzięki!
RolandiXor
2
Dzięki. Użyłem tego jako napiwku, ale zamiast tego zrobiłem; UIManager.setLookAndFeel("com.sun.java.swing.plaf.gtk.GTKLookAndFeel");który nie wymaga edycji pliku konfiguracyjnego.
xconspirisist
@RolandiXor Jeśli to nie zadziałało, oznacza to, że twórca aplikacji na stałe zakodował wygląd. Nic nie możesz na to poradzić, chyba że jest to oprogramowanie typu open source. :(
stommestack
1
Pomogło mi rozwiązać błąd „pogrubiona czcionka jdk”. Dziękuję Ci.
Mnerner
Nie naprawiono Universalmediaserver na Ubuntu Mate 14.
NicolasSmith
10

Jeśli wypróbowałeś już powyższe rozwiązania - spróbuj użyć tego (pomógł mi na 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. Następnie uruchom w tym terminalu swoją aplikację.

  3. Jeśli jesteś zadowolony ze swojego wyniku - dodaj ten wiersz do swojego ~/.profilepliku.
yanpas
źródło
To ująć ~/.profilenie dla mnie, ale ja kładę _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" się /etc/environment(uwaga użycie podwójnych zamiast pojedynczych cytatów i zaginionych export, w przeciwnym razie magia nie działa).
Photon
Działa poprawnie z SweetHome3D i Ubuntu 18.04
NicolasSmith
7

Jeśli jesteś programistą lub jest to oprogramowanie typu open source, alternatywnym sposobem jest zmiana wyglądu aplikacji. Wstaw poniższy kod do mainmetody.

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

To może być również pomocne.

giannis christofakis
źródło
@Jop Czy jesteś pewien innych platform? Co z motywami KDE?
giannis christofakis,
1
Nieważne, myliłem się, przepraszam. Ale dlaczego nie tylko javax.swing.UIManager.setLookAndFeel("com.sun.java.swing.plaf.gtk.GTKLookAndFeel");?
stommestack
2
@Jop Ponieważ Javaaplikacje są niezależne od platformy, należy sprawdzić, czy GTKmotyw jest zainstalowany w systemie.
giannis christofakis