我无法加载图片

时间:2013-02-13 13:50:24

标签: java image embedded-resource

我在加载图片时遇到问题。在命令提示符下使用Java Run编译后运行应用程序(Run是主类),生成没有错误,它加载图像,但在将其打包到jar文件后,它无法加载图像。打包类时,我将图像源与它的类打包在一起。

这是我加载图片的方式:

ImageIcon icon = new ImageIcon( getClass().getResource( "resources/images/button6.gif" ));

包含图像的类和文件夹位于同一目录中。

3 个答案:

答案 0 :(得分:0)

JAR中的包装是不同的。

尝试创建清单并向其添加“类路径”条目。列出相对于图像所在的JAR根目录的路径,看看是否有帮助。

答案 1 :(得分:0)

尝试:

ImageIcon icon = new ImageIcon( MyClass.class.getResource( "/resources/images/button6.gif" ));

原因:

  • 相对路径从类的包开始,但您可能希望从Jar的根级别开始(假设“资源”是JAR中的顶级目录)

http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html#getResource%28java.lang.String%29

答案 2 :(得分:-1)

我尝试加载的图像是gif图像格式,其文件扩展名为gif,大写字母(即.GIF)。我将图像扩展名更改为小写,这解决了问题。