从JAR文件导入字体

时间:2013-04-22 13:51:54

标签: java fonts jar io

我尝试使用以下方法创建自定义字体,但它会引发异常:

  

关闭流

没有任何反应!如何从我的JAR导入ttf文件并在Java 2D中使用它!我设法让它使用外部文件,但它只适用于InputStream!

 public Font gameFont(String filename, float fontSize) {
    Font myfont = null;
     Font myfontReal = null;
    try {
        InputStream is = new BufferedInputStream(this.getClass().getResourceAsStream("com/or/dungeon/" + filename));

        myfont = Font.createFont(Font.TRUETYPE_FONT, is);
        myfontReal = myfont.deriveFont(fontSize);
        is.close();
    } catch (FontFormatException | IOException e) {
        System.out.println(e.getMessage());
    }
    return myfontReal;
}

1 个答案:

答案 0 :(得分:0)

您缺少一个前导斜线。没有它,它正在相对于拨打电话的班级进行搜索。尝试:

this.getClass().getResourceAsStream("/com/or/dungeon/" + filename));

或者,尝试:

this.getClass().getClassLoader().getResourceAsStream("com/or/dungeon/" + filename));