如何让 Java GUI 程序看起来更现代?

如何让 Java GUI 程序看起来更现代?

我一直在 Ubuntu 14.04 上使用 Dr Java,与 Mac 或 Windows 上的相比,GUI 组件看起来都很过时。有没有什么方法可以更新它,还是 Linux 中的所有 Java 组件都有点旧了?

如果有帮助的话,我正在使用 Oracle 的 JDK 8.0 编译器。

以下是 Ubuntu 中的一些 JButton

答案1

看:https://stackoverflow.com/questions/209731/how-do-i-force-get-to-use-gtklookandfeel-in-java-on-kde

您可以提示 JVM 使用不同的“外观和感觉”(LAF)。VM 有许多可用的 LAF,还有一些特定于某些操作系统的 LAF(例如,Windows LAF 仅适用于 Windows)。

我怀疑您看到的是“Metal” LAF,它非常丑陋(如果开发人员没有为 GUI 应用程序指定不同的 LAF,它恰好是默认的)。您可以尝试强制使用 GTK(或 Nimbus,如果您有正确版本的 VM) LAF,如此链接中所述。它将是这样的:

java -Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel YourAppName

您必须用应用程序名称替换 YourAppName。或者,如果您的应用程序是通过某种 Java 启动器启动的,您可能需要编辑一个文件。这个想法是,您想以某种方式将此 Java 定义(“ -Dswing.defaultlaf=...”)添加到 VM 参数中。

由于您正在使用 Oracle Java 8 VM,您甚至可能想尝试一下新的javax.swing.plaf.nimbus.NimbusLookAndFeel

参考文献:如何设置外观

答案2

我希望你需要 Java 来使用 GTK 外观和感觉。韋斯特回答您可以在运行时设置它,也可以使用以下技术为所有 Java swing 应用程序设置它:

步骤1: 在 Java 8 中,此文件默认不可用。因此给定的命令将创建一个新文件。根据您的 Java 版本更改路径。

gksu gedit /usr/lib/jvm/jdk1.8.0_60/jre/lib/swing.properties

第2步: 在文件中添加以下行并保存文件

swing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel

现在运行该应用程序,您将获得所有 Swing 应用程序的原生体验。

尽管您的计算器应用程序不需要全局菜单,但启用全局菜单将改善 Java 应用程序的外观和感觉。要启用全局菜单:

步骤 1: 使用以下命令集安装 Jayatana:

从 Ubuntu 15.04 开始,它是默认安装的。

sudo add-apt-repository ppa:danjaredg/jayatana
sudo apt-get update
sudo apt-get install jayatana

第2步: 禁用全局 Jayatana 配置

sudo rm /usr/share/upstart/sessions/jayatana.conf

步骤3: 运行 Java 应用程序时,使用以下命令

java -jar -javaagent:/usr/share/java/jayatanaag.jar <file-name>

致谢:

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

Ubuntu 中 Java 应用程序的全局菜单支持

相关内容