2009-07-13 210 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 - 讓用戶決定什麼是俗氣的。