2011-06-01 126 views
3

我們有在Windows XP上使用setForeground方法的SWT應用程序,它們工作正常。但是,在Win7上運行最新的穩定SWT jar和dll似乎顯示setForeground方法被忽略。我知道javadoc說這是一個提示,但我想知道這是否是因爲XP和7之間的某些變化,或者如果可能的話,這是我的新Win7安裝的系統設置。在Windows 7與Windows XP中的SWT setForeground

我發現了這篇文章:How to set SWT button foreground color?,但主要答案肯定地說在windows上忽略setForeground,這在XP中是不正確的。另外,我們的問題似乎並不侷限於按鈕。同樣的問題也發生在團體中。

Screenshot Comparison

顯然,哈克變通加入油漆聽衆直接操縱GC重繪用適當的顏色的文字,除了是哈克存在,這是不實際的,因爲這意味着我們必須將這個監聽器添加到我們使用Button的數千個地方。

感謝您的任何幫助。

回答

1

這與您的系統設置沒有任何關係。正如你所猜測的,XP和7之間有所變化。實際上,它在XP和Vista之間有所變化。不幸的是,除了你提到的黑客攻擊之外,你可以做的事情不多。請參閱this bug report

0

進一步調查顯示,這不是XP和Windows 7的區別,而是經典主題與Aero或XP主題。如果我們在XP中使用XP主題,則不能設置Button前景。