2010-05-20 34 views
3

在我的Java应用程序中,我必须自定义绘制控件,为此我需要使用与JButton相同的字体颜色。 (启用和禁用)我不想对它们进行硬编码,因为用户可以在运行时更改物质皮肤。如何使用物质LaF获取按钮的文本颜色?

我知道ColorSchemes但我不知道如何进行一旦我有当前皮肤的配色方案。 Substance文档还提到了一些关于创建自己的配色方案的内容,但我无法弄清楚如何获取某种颜色。

回答

2

OK问基里尔(物质的创造者),我终于理解了它自己:

重要的一步是要弄清楚正确颜色方案。因为在Substance中,每个根窗格都可以有自己的外观,所以最好使用getCurrentSkin帮助程序。

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

其他可能性getDisabledColorSchemegetActiveColorSchemegetBackgroundColorScheme

然后您可以使用s.getForegroundColorSubstanceColorUtilities的各种帮助方法。

相关问题