2009-07-13 211 views
4

希望没有人问这个问题 - 没有看到它,但我很抱歉,如果它是重复的。SWT的力看/感觉

无论如何,我正在使用Eclipse RCP构建一些插件,并且正在为我的UI使用SWT。我有一个包含一些面板和其他项目的复合材料 - 无论如何,我已经注意到UI的外观有所不同,这取决于我的操作系统是如何设置的。

我正在运行Windows XP,但使用的是Windows 98的“经典”外观/感觉。当它是这样的 - UI看起来很好;然而,当我切换到较新的XP外观/感觉与那个俗气的蓝色栏和什么不是 - 我的复合材料中的标签和边框是不同的。

有没有一种方法可以强制SWT使用经典的外观/感觉?

回答

5

您需要绑定到您的应用程序的javaw.exe.manifest。

这里是描述该问题的文章:

http://www.javalobby.org/forums/thread.jspa?threadID=15414&tstart=0

+0

我对这个清单一无所知,但请注意,从Eclipse 3.4开始,eclipse.exe启动程序将通过加载jvm.dll in-process并使用JNI Invocation API来启动vm。这意味着您可能需要在eclipse启动器旁边的eclipse.exe.manifest,而不是javaw.exe.manifest。 – 2009-07-13 19:39:47

2

我认为这是SWT的设计决策,它使它继承了平台的外观和感觉。我想这部分是为了解决通常的“Java应用程序看起来垃圾/不合适/不同”的评论,部分是为了更容易在启动时加载相关的片段。 我不知道有什么方法来覆盖标准值。

1

难道他们是不同某种程度上与应用程序的正常工作? SWT旨在继承用户对UI呈现的偏好。这是基本的HCI - 让用户决定什么是俗气的。