从JAR文件
问题描述:
导入字体我已经尝试使用下面的方法来创建自定义的字体,但它抛出一个异常:从JAR文件
流关闭
并没有任何反应!如何从我的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;
}
答
您错过了一个斜杠。没有它,它正在相对于打电话的班级进行搜索。尝试:
this.getClass().getResourceAsStream("/com/or/dungeon/" + filename));
或者,尝试:
this.getClass().getClassLoader().getResourceAsStream("com/or/dungeon/" + filename));
什么是你的问题? – 2013-04-22 13:54:52
对不起,编辑它 – 2013-04-22 13:56:25
也许不应该做'is.close()'。我认为第二次调用'gameFont'是个问题。 – 2013-04-22 13:57:02