我有一个 Swing GUI,它是我在 Linux 中开发的 Netbeans Matisse。出于某种奇怪的原因,应用程序的外观和感觉在由 root 运行时看起来不同(实际上它看起来更好)。
这有什么道理吗?谢谢
最佳答案
Swing 是一个跨平台的 GUI。默认情况下,它以最接近其运行平台的外观呈现自身。有适用于 GTK、Motif 和 Windows 的外观和感觉,以及 Metal 和 Nimbus 等跨平台主题。
在 Linux 中,如果您安装了 gtk 2.2,它将默认使用 GTK 主题。在您的系统上,root 用户的 GTK 主题可能与普通用户的不同,而您的 Swing 应用程序反射(reflect)了这一点。或者它可能无法在 root 中正确检测到 GTK,并且默认为 Motif。
尝试以 root 身份登录并查看桌面主题是否相同。尝试运行该应用程序,看看它是否反射(reflect)了桌面主题或完全不同。
关于java - Swing GUI 在 root 用户和非 root 用户下看起来不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3676863/