查看SO上的其他帖子,他们没有解决这个问题。
我正在尝试从jar文件中加载图像。它一直是空的。图像位于:
.Jar file > images > BLOCK.png
加载我正在做的图像:
BufferedImage bImg;
URL url = getClass().getResource("/images/BLOCK.png");
try {
bImg = ImageIO.read(url);
} catch (IOException ex) {
Logger.getLogger(TileEngine.class.getName()).log(Level.SEVERE, null, ex);
}
url与bImg一样为空。
不要担心区分大小写,因为我已经检查过了。
答案 0 :(得分:7)
试试这个:
Toolkit.getDefaultToolkit().getImage(getClass().getResource("/images/BLOCK.png"));
答案 1 :(得分:1)
与您用于调用getResource
的课程相比,该图片中包含哪个jar文件?如果它们被同一个类加载器加载,它应该没问题。
您是否仔细检查过jar文件实际是否包含该文件?
你确定你的类加载器实际上是在使用jar文件(例如直接在磁盘上使用.class文件)吗?
如果你有一个简短但完整的程序来证明这个问题,那真的会有所帮助。 (控制台应用程序将是理想的......毕竟,我们不需要看到图像。)