2010-05-20 64 views
3

在我的Java應用程序中,我必須自定義繪製控件,爲此我需要使用與JButton相同的字體顏色。 (啓用和禁用)我不想對它們進行硬編碼,因爲用戶可以在運行時更改物質皮膚。如何使用物質LaF獲取按鈕的文本顏色?

我知道ColorSchemes但我不知道如何進行一旦我有當前皮膚的配色方案。 Substance文檔還提到了一些關於創建自己的配色方案的內容,但我無法弄清楚如何獲取某種顏色。

回答

2

OK問基里爾(物質的創造者),我終於理解了它自己:

重要的一步是要弄清楚正確顏色方案。因爲在Substance中,每個根窗格都可以有自己的外觀,所以最好使用getCurrentSkin幫助程序。

SubstanceColorScheme s = SubstanceLookAndFeel 
     .getCurrentSkin(myComponent) 
     .getEnabledColorScheme(
       SubstanceLookAndFeel.getDecorationType(myComponent) 
     ); 

其他可能性getDisabledColorSchemegetActiveColorSchemegetBackgroundColorScheme

然後您可以使用s.getForegroundColorSubstanceColorUtilities的各種幫助方法。

相關問題