2010-09-09 42 views
1

我有一个Swing GUI,我在Linux中开发了Netbeans Matisse。出于某种奇怪的原因,当它由root运行时,应用程序的外观看起来会有所不同(实际上它看起来更好)。根用户与非root用户的Swing GUI看起来不同

是否有此推理?谢谢

+2

我们能不能请看截屏的区别?或者至少有一个区别的描述? – jjnguy 2010-09-09 13:25:27

+1

截图将会很棒 – 2010-09-09 13:46:27

+1

虽然我很难想象如何,但是可能某些类加载安全权限阻止以非root用户身份运行时加载Look&Feel类。或者,也许某些外观和感觉配置保存在用户偏好中。 – darri 2010-09-09 13:46:49

回答

5

Swing是一个跨平台的GUI。它默认呈现自己,其外观和感觉最接近它所运行的平台。 GTK,Motif和Windows以及金属& Nimbus等跨平台主题都有外观和感觉。

在Linux中,如果您安装了gtk 2.2,它将默认使用GTK主题。它可能在你的系统上,GTK主题对于root来说不同于普通用户,而你的Swing应用正在反映这一点。或者它可能无法在根目录中正确检测到GTK,并且默认为Motif。

尝试以root身份登录并查看桌面主题是否相同或不同。尝试运行应用程序,看它是否反映了桌面主题或完全是其他内容。