如何使用 Substance LaF 获取按钮的文本颜色?
在我的 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
好吧,最后我自己弄清楚了:
重要的一步是找出正确的配色方案。因为在 Substance 中每个根窗格都可以有自己的皮肤,所以最好使用
getCurrentSkin
帮助器。其他可能性包括
getDisabledColorScheme
、getActiveColorScheme
和getBackgroundColorScheme
。然后,您可以使用
s.getForegroundColor
或SubstanceColorUtilities
中的各种辅助方法。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
getCurrentSkin
helper.Other possibilities are
getDisabledColorScheme
,getActiveColorScheme
andgetBackgroundColorScheme
.Then you can use
s.getForegroundColor
or various helper methods fromSubstanceColorUtilities
.为什么不在 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