我正在尝试使用TTF将自定义字体添加到我的Java程序中,但无论出于何种原因,我的字符串都被简单地绘制为破折号,偶尔还有点。例如,如果我使用此代码来定义我的字体:
font = Font.createFont(Font.TRUETYPE_FONT,
ac.class.getResourceAsStream("/fonts/verdana.TTF"));
然后主菜单如下:
而不是:
注意:我正在使用代码
Font font = new Font("Verdana", Font.BOLD, 30);
在第二个屏幕截图中定义字体。
答案 0 :(得分:4)
使用deriveFont方法调整刚刚加载的字体的大小:
font = Font.createFont(Font.TRUETYPE_FONT,
ac.class.getResourceAsStream("/fonts/verdana.TTF")).deriveFont(30f);
答案 1 :(得分:4)
API spec说:
使用指定的字体类型和输入数据返回新的
Font
。新的Font
是使用 磅值1 创建的,并且样式为PLAIN。然后,此基本字体可与此类中的deriveFont
方法一起使用,以派生具有不同大小,样式,变换和字体特征的新Font对象。此方法不会关闭InputStream
。要使
Font
Font
构造函数可用,必须通过调用Font
在GraphicsEnviroment
中注册返回的registerFont(Font)
。