如何让 Java 应用程序使用 GTK+ 主题?

Rol*_*Xor 32 themes gtk java application-development

有没有办法让 java 应用程序使用我的 gtk 主题?

hto*_*que 28

您可以尝试将 Java 的默认外观设置为 GTK:

打开一个终端 (Ctrl+Alt+T) 并粘贴上面的 openjdk 和下面的 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

  • 按照该文件中的注释并删除井号,因此它看起来像:

    # uncomment to set the default look and feel to GTK
    swing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel
    
    Run Code Online (Sandbox Code Playgroud)
  • 保存并重新启动 Java 应用程序。

之前和之后:

  • 谢谢。我用这个作为提示,但我做了;```UIManager.setLookAndFeel("com.sun.java.swing.plaf.gtk.GTKLookAndFeel");``` 不需要任何配置文件编辑。 (2认同)

yan*_*pas 13

如果您已经尝试过上述解决方案 - 尝试使用这个(在 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. 然后在此终端中启动您的应用程序。

  3. 如果您对结果感到满意 - 将此行添加到您的~/.profile文件中。


gia*_*kis 7

如果您是开发人员或者它是开源的,另一种方法是更改​​应用程序的外观。在main方法中插入以下代码。

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;
     } 
}
Run Code Online (Sandbox Code Playgroud)

也可能有帮助。

  • @Jop 由于`Java` 应用程序是独立于平台的,你应该检查你的系统中是否安装了`GTK` 主题。 (2认同)