如何将字体设置为字符串
How to set fonts to a string
有没有办法在字符串上设置字体,然后用图形绘制字符串?我知道您可以在 Jlabels、Jtextfields 和 J-other 组件上做到这一点,但是有没有办法只在字符串上做到这一点?谢谢你。
是的,有可能,首先查看 Graphics, Text tutorials
基本上,您可以使用Graphics#setFont
and draw a String
using Graphics#drawString
设置字体。
另请参阅 Performing Custom Painting 以了解如何在 Swing 中执行自定义绘画
对于example
列出可用的字体名称....
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);
您可以使用 attributed strings 的示例
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);
}
有没有办法在字符串上设置字体,然后用图形绘制字符串?我知道您可以在 Jlabels、Jtextfields 和 J-other 组件上做到这一点,但是有没有办法只在字符串上做到这一点?谢谢你。
是的,有可能,首先查看 Graphics, Text tutorials
基本上,您可以使用Graphics#setFont
and draw a String
using Graphics#drawString
设置字体。
另请参阅 Performing Custom Painting 以了解如何在 Swing 中执行自定义绘画
对于example
列出可用的字体名称....
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);
您可以使用 attributed strings 的示例
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);
}