2

AttributedString通常のテキストといくつかの下付き文字があります。JLabelフォーマットを失わずにテキストを a に入れたいと思います。

これは可能ですか?そうでない場合、最良の代替手段は何ですか?

編集:私の質問をさらに説明するためのコード例を次に示します。

import javax.swing.JLabel;
import javax.swing.JFrame;
import java.text.AttributedString;
import java.awt.font.TextAttribute;
public class LabelExample extends JFrame implements Runnable
{
  private JLabel label;
  private AttributedString as;
  public LabelExample()
  {
    as = new AttributedString("Ten to the fifth is 105");
    as.addAttribute(TextAttribute.SUPERSCRIPT, TextAttribute.SUPERSCRIPT_SUPER, 22, 23);
    label = new JLabel(as);
    //the above line doesn't accept AttributedString 
    //as a suitable constructor
    this.add(label);
  }
  public void run()
  {
    setSize(500, 500);
    setVisible(true);
  }
  public static void main(String[] args)
  {
    LabelExample e = new LabelExample();
    javax.swing.SwingUtilities.invokeLater(e);
  }
} 
4

2 に答える 2

0

を上書きすることにより、 orのJLabelように動作し、そのメソッドを使用します。それは明らかに良い考えではありません。単に aを直接使用してください。コンテキストは、 (具体的には文字イテレータ)を処理する方法を知っています。JPanelJComponentpaintJPanelGraphics2DAttributedString

JLabelHTML レンダリングについて直接知っているので、上付きタグを使用して HTML 文字列を簡単に作成できるため、特定のタスクに役立つ可能性があります。AttributedStringをHTMLに変換する快適な方法がわかりません。

于 2013-04-03T03:41:32.493 に答える