如何将字体设置为字符串



有没有办法在字符串上设置字体,然后用图形绘制字符串?我知道你可以在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);

相关内容

  • 没有找到相关文章

最新更新