加标和字体为String我想提请对我的JFrame有标和字体的字符串,我试图用构造一个AttributedString但我似乎并不想为工作无论原因。它要么一次只显示字体或只是标而不是两个。图形JFrame上
private class DrawFormulas extends JComponent
{
public void paint(Graphics g)
{
Graphics2D G2D = (Graphics2D)g;
G2D.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
g.setFont(F);
AttributedString Trig = new AttributedString("a2 + b2 = c2");
Trig.addAttribute(TextAttribute.FONT, F);
Trig.addAttribute(TextAttribute.SUPERSCRIPT, TextAttribute.SUPERSCRIPT_SUPER, 1, 2);
Trig.addAttribute(TextAttribute.SUPERSCRIPT, TextAttribute.SUPERSCRIPT_SUPER, 6, 7);
Trig.addAttribute(TextAttribute.SUPERSCRIPT, TextAttribute.SUPERSCRIPT_SUPER, 11, 12);
Trig.addAttribute(TextAttribute.SIZE, F.getSize());
G2D.drawString(Trig.getIterator(), 170, 75);
}
}
如果有人能告诉我为什么这不工作或有这样做的任何帮助的一个更好的办法,将不胜感激。谢谢
哪个是你的字体? – Frakcool
它是在方法外定义的F Font F = new Font(“SANS_SERIF”,Font.PLAIN,60); – LoganMacMonkey
1+为一个很好的代码片段,但是请确保下次发布有效的[mcve],因此我们不需要问什么字体(或代码中的任何数据)。我的回答显示了一个MCVE的例子 – Frakcool