好的,所以我有一个使用自定义字体的问题。基本上我从互联网上下载了一个自定义字体,并将其用于我的程序中。当我在Eclipse(我使用的编辑器)中运行程序时,一切正常,并且没有问题。但每当我将它导出到一个罐子从日食,或尝试从命令提示符下运行它,我得到这个非常恼人的错误:Java无法读取字体
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();
}
FOLDER布局
塔防游戏
src
default package
TowerDefense.java
Game.java
DragTest.java
JRE System Library
REVOLUTION.ttf
neuropol.ttf
Jar中是否包含字体?我会在命令行上运行字体需要包含在类路径中。 – EkcenierK
JAR中包含字体吗?它位于哪里? –
是的,它包含在JAR中。我看到了你的思考过程,但即使在我正在运行JAVA文件时,我仍然遇到了这个错误。是的,一切都在适当的位置,并正确引用它。 @KLibby – Ryan