0

我有一个对我来说似乎很愚蠢的小问题,但我无法在互联网上找到解决方案。我有一个代码,其中使用 ttf 文件初始化字体,如下所示。

  InputStream is = new BufferedInputStream(new FileInputStream(
            "dundalkh.ttf"));
  Font f = Font.createFont(Font.TRUETYPE_FONT, is);

现在我使用图形组件在屏幕上绘制一个字符串。在绘制字符串之前,我使用以下行:

 g.setFont(f);
 g.drawString("Title",300,30);

但是我的字体很小。当我使用 f.getSize() 方法时,它会打印 1. 我应该如何增加字体大小?

4

3 回答 3

4

您需要使用 derivedFont 方法从初始对象中拉出第二个 Font 对象:

Font f = Font.createFont(Font.TRUETYPE_FONT, is);
Font newFont = f.deriveFont(10f);

这是它的文档条目:

http://docs.oracle.com/javase/6/docs/api/java/awt/Font.html#deriveFont(float)

于 2013-04-11T16:03:18.327 回答
2

Font 类有几种deriveFont方法可以创建具有不同参数的字体,特别是font.deriveFont(12f)将创建大小为 12 的字体。

编辑:确保使用浮点数作为大小,因为有 derivedFont(int style) 设置字体样式,而不是大小。

于 2013-04-11T16:07:47.787 回答
0

试试这个

Font font = new Font(Font.TRUETYPE_FONT, Font.BOLD, 30);
txt.setFont(font);
于 2013-04-11T16:13:53.297 回答