我该如何修复这个fontloader?

时间:2015-03-13 04:55:40

标签: java fonts

所以我正在尝试创建一个返回字体对象的方法 - 从.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;
}

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

  

它只是没有画任何东西。如果不是将字体设置为null,而是将其设置为java默认字体,则可以使用

创建后,默认Font尺寸为1。尝试使用

之类的东西
Font font = loadFont().deriveFont(12f);

设置所需的字体大小

  

该文件与其他类文件

位于同一目录中

您可能还会发现,使用File引用字体时,如果字体位于应用程序的上下文中,则可能意味着无法找到该文件。加载嵌入式资源时,您应该使用Class#getResourceClass#getResourceAsStream之类的内容,具体取决于您的需求,例如

font = Font.createFont(Font.TRUETYPE_FONT, getClass().getResourceAsStream("/package/path/to/resource/vgafix.ttf"));