-6

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

这就是我加载图像的方式:

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

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

4

3 回答 3

0

JAR 中的包装是不同的。

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

于 2013-02-13T13:53:21.800 回答
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

于 2013-02-13T14:37:32.213 回答
-1

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

于 2017-02-17T11:30:25.103 回答