3

我正在尝试使用 TTF 将自定义字体添加到我的 Java 程序中,但无论出于何种原因,我的字符串都被简单地绘制为各种破折号,偶尔还有点。例如,如果我使用此代码来定义我的字体:

font = Font.createFont(Font.TRUETYPE_FONT, 
         ac.class.getResourceAsStream("/fonts/verdana.TTF"));

然后主菜单如下所示:

而不是这样:

注意:我正在使用代码

Font font = new Font("Verdana", Font.BOLD, 30);

在第二个屏幕截图中定义字体。

4

2 回答 2

4

使用方法derivedFont来调整你刚刚加载的字体:

font = Font.createFont(Font.TRUETYPE_FONT, 
     ac.class.getResourceAsStream("/fonts/verdana.TTF")).deriveFont(30f);
于 2013-01-18T01:48:41.753 回答
4

API规范说:

Font使用指定的字体类型和输入数据返回一个新的。新Font创建的点大小为 1,样式为 PLAIN。然后可以将此基本字体与deriveFont此类中的方法一起使用,以派生具有不同大小、样式、转换和字体特征的新 Font 对象。此方法不会关闭InputStream.

为了使构造函数Font可用,Font返回的Font必须GraphicsEnviroment通过调用注册registerFont(Font)

于 2013-01-18T01:49:55.310 回答