我尝试使用以下方法创建自定义字体,但它会引发异常:
关闭流
没有任何反应!如何从我的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;
}
答案 0 :(得分:0)
您缺少一个前导斜线。没有它,它正在相对于拨打电话的班级进行搜索。尝试:
this.getClass().getResourceAsStream("/com/or/dungeon/" + filename));
或者,尝试:
this.getClass().getClassLoader().getResourceAsStream("com/or/dungeon/" + filename));