java - 如何使用 Substance LaF 获取按钮的文本颜色?

标签 java swing substance

在我的 Java 应用程序中,我必须自定义绘制一个控件,为此我需要使用与 JButton 相同的字体颜色。 (启用和禁用)我不想对它们进行硬编码,因为用户可以在运行时更改 Substance 皮肤。

我知道ColorSchemes,但我不确定在获得当前皮肤的配色方案后如何继续。 Substance 文档也说了一些关于创建您自己的配色方案的内容,但我只是想不出检索特定颜色的方法。

最佳答案

好吧,最后我自己弄明白了:

重要的一步是找出正确的配色方案。因为在 Substance 中每个根 Pane 都可以有自己的皮肤,所以最好使用 getCurrentSkinhelper。

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

其他可能性是 getDisabledColorSchemegetActiveColorSchemegetBackgroundColorScheme

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

关于java - 如何使用 Substance LaF 获取按钮的文本颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2871548/

相关文章:

java - 如何压缩uuid和timeuuid?

java - 整合多个部署的 Java webapp 配置文件的策略

java - 如何查看应用程序中的上一个屏幕

java正则表达式在应该匹配的时候不匹配

java - JFrame 未显示

java - 循环遍历 JPanel 中的嵌套字段

java - Netbeans(Java): 3rd library works but how could I compile it into jar?

Java Swing BorderLayout resize困难

java - 物质的外观和感觉

Java - 允许在带有 Substance L&F 的可编辑 JComboBox 中使用退格键