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

发布于 2024-09-02 02:23:31 字数 219 浏览 7 评论 0原文

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

我知道 ColorSchemes 但我不确定在获得当前皮肤的配色方案后如何继续。 Substance 文档还介绍了有关创建自己的配色方案的内容,但我只是无法弄清楚检索某种颜色的方法。

In my Java application I have to custom-paint a control and for that I need to use the same font colors as JButton. (Enabled and disabled) I don't want to hard-code them, because the user can change the Substance skin at runtime.

I'm aware of the ColorSchemes but I'm not sure how to proceed once I have the color scheme of the current skin. Also the Substance documentation says something about creating your own color scheme, but I just can't figure out the way to retrieve a certain color.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

温柔少女心 2024-09-09 02:23:31

好吧,最后我自己弄清楚了:

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

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

其他可能性包括 getDisabledColorSchemegetActiveColorSchemegetBackgroundColorScheme

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

OK, finally I figured it out myself:

The important step is to figure out the correct color scheme. Because in Substance every root pane can have its own skin, it's best to use the getCurrentSkinhelper.

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

Other possibilities are getDisabledColorScheme, getActiveColorScheme and getBackgroundColorScheme.

Then you can use s.getForegroundColor or various helper methods from SubstanceColorUtilities.

硬不硬你别怂 2024-09-09 02:23:31

为什么不在 Substance 论坛上询问 Kirill(Substance 的创建者),网址为 https://substance。 dev.java.net/servlets/ProjectForumView

Why don't you ask Kirill (creator of Substance) on Substance Forum at https://substance.dev.java.net/servlets/ProjectForumView

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文