有没有办法在字符串上设置字体,然后用图形绘制字符串?我知道你可以在Jlabels、Jtextfields和J-其他组件上做这件事,但有没有办法只在字符串上做呢?非常感谢。
您可以使用属性字符串来实现这一点,例如
Font font = new Font("LucidaSans", Font.PLAIN, 14);
AttributedString atString= new AttributedString("Example text string");
atString.addAttribute(TextAttribute.FONT, font);
graphic.drawString(atString.getIterator(),x,y);
干杯!
我们实际上可以在图形中设置字体。。。然后画绳子。
public void paintComponent(Graphics g) {
super.paintComponent(g);
g.setColor(Color.BLUE);
g.setFont(Fonts.f);
g.drawString(Fonts.text, 50, 50);
}
是的,可以从查看图形、文本教程开始
基本上,您可以使用Graphics#setFont
设置字体,并使用Graphics#drawString
绘制String
。
另请参阅执行自定义绘画,了解如何在Swing 中执行自定义绘画
例如
列出可用的字体名称
String fonts[] = GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames();
for (String font : fonts) {
System.out.println(font);
}
或
Font fonts[] = GraphicsEnvironment.getLocalGraphicsEnvironment().getAllFonts();
for (Font font : fonts) {
System.out.println(font);
}
您可以使用Font#derive
方法之一来操作字体的属性。。。
Font font = ...;
Font bigger = font.derive(32f);
Font bolder = font.derive(Font.BOLD);
Font biggerAndBolder = font.derive(Font.BOLD, 32f);