好的,我有一个使用自定义字体的问题。基本上,我从互联网上下载了一个自定义字体,并在程序中使用它。当我在我使用的编辑器Eclipse中运行程序时,一切都正常,没有任何问题。但是,每当我从Eclipse导出程序到jar文件中或尝试从命令提示符运行它时,我会遇到这个非常烦人的错误:
java.io.IOException: Can't read REVOLUTION.ttf
at java.awt.Font.createFont(Unknown Source)
at TowerDefense.<init>(TowerDefense.java:55)
at TowerDefense.main(TowerDefense.java:302)
我明白,由于字体使用的位置不当,你遇到了一堆空指针异常。但我不知道为什么它说无法读取它。这里是创建字体的代码:
try {
revolution = Font.createFont(Font.TRUETYPE_FONT, new File("REVOLUTION.ttf"));
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
ge.registerFont(revolution);
}
catch (Exception e) {
e.printStackTrace();
}
文件夹布局
TowerDefense
(塔防)src
default package
TowerDefense.java
Game.java
DragTest.java
JRE System Library
REVOLUTION.ttf
neuropol.ttf
...getResourceAsStream("REVOLUTION.ttf")
。 - Ryan