1

シンセサイザーを使用してコントロールのテキスト描画をカスタマイズするために、ペインターまたはその他の手法を使用することは可能ですか?

SynthPainterで実装できることは知っていますが、テキストで実装する方法はあるのでしょうpaintButtonBorderか。paintButtonBacground多分いくつかの回避策?

4

1 に答える 1

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)して返します。SynthStylegetGraphicsUtils(SynthContext context)

とにかく、ペイントをスーパー実装に委任する場合は、HTML(タグtextで始まる)の場合は特定の詳細に注意してください。<html>

  1. スーパー実装はss.getComponent().getText()、の代わりにペイントしtextます。
  2. スーパー実装は、ペイントする前にテキストの色を手動で設定します。スタイルが設定されていないテキストの場合、これはになりますss.getComponent().getForeground()。スタイル付きテキストの場合、これはHTML/CSSで指定された色と一致します。
于 2013-08-31T05:03:01.063 に答える