Synth覆盖按钮上的文本绘图

时间:2013-01-17 10:36:44

标签: java synth

是否可以使用画家或其他技术来自定义文本 使用synth绘制控件?

我知道你可以在SynthPainter中实现paintButtonBorderpaintButtonBacground,但我想知道有没有办法用文字做到这一点?也许有些解决方法?

1 个答案:

答案 0 :(得分:1)

通常,您会创建一个SynthGraphicsUtils子类,覆盖paintText(SynthContext ss, Graphics g, String text, Icon icon, int hAlign, int vAlign, int hTextPosition, int vTextPosition, int iconTextGap, int mnemonicIndex, int textOffset)并从按钮SynthStyle的{​​{1}}方法返回子类的实例。

无论如何,如果你要将绘画委托给超级实现,那么如果getGraphicsUtils(SynthContext context)是HTML格式(以text标记开头),请注意某些细节:

  1. 超级实施将绘制<html>而不是ss.getComponent().getText()
  2. 超级实现将在绘制前手动设置文本颜色。对于无格式文本,这将是text。对于样式文本,这将匹配HTML / CSS中指定的颜色。