是否可以使用painter或其他一些技术来自定义带有合成器的控件上的文本绘制?
我知道你可以在 SynthPainter 中实现paintButtonBorder和paintButtonBacground,但我想知道有没有办法用文本做到这一点?也许一些解决方法?
通常你会创建一个SynthGraphicsUtils子类,覆盖paintText(SynthContext ss, Graphics g, String text, Icon icon, int hAlign, int vAlign, int hTextPosition, int vTextPosition, int iconTextGap, int mnemonicIndex, int textOffset)并从你的 button 方法返回一个子类的SynthStyle实例getGraphicsUtils(SynthContext context)。
无论如何,如果你要将绘画委托给超级实现,如果text是在 HTML 中(以<html>标签开头),请注意某些细节:
ss.getComponent().getText()而不是text.ss.getComponent().getForeground(). 对于样式文本,这将匹配 HTML/CSS 中指定的颜色。