所以我正在尝试创建一个返回字体对象的方法 - 从.ttf派生它,但我的代码不起作用:
public Font loadFont(){
Font font = null;
try {
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
font = Font.createFont(Font.TRUETYPE_FONT, new File("vgafix.ttf"));
} catch (Exception e) {
//Handle exception
}
return font;
}
我该如何解决这个问题?
答案 0 :(得分:1)
它只是没有画任何东西。如果不是将字体设置为null,而是将其设置为java默认字体,则可以使用
创建后,默认Font
尺寸为1
。尝试使用
Font font = loadFont().deriveFont(12f);
设置所需的字体大小
该文件与其他类文件
位于同一目录中
您可能还会发现,使用File
引用字体时,如果字体位于应用程序的上下文中,则可能意味着无法找到该文件。加载嵌入式资源时,您应该使用Class#getResource
或Class#getResourceAsStream
之类的内容,具体取决于您的需求,例如
font = Font.createFont(Font.TRUETYPE_FONT, getClass().getResourceAsStream("/package/path/to/resource/vgafix.ttf"));