我在加载图像时遇到问题。在命令提示符下使用Java Run编译后运行应用程序(Run是主类),没有产生错误,它会加载图像,但是将其打包为jar文件后无法加载图像。打包类时,我将图像源与其类打包在一起。
这就是我加载图像的方式:
ImageIcon icon = new ImageIcon( getClass().getResource( "resources/images/button6.gif" ));
包含图像的类和文件夹位于同一目录中。
我在加载图像时遇到问题。在命令提示符下使用Java Run编译后运行应用程序(Run是主类),没有产生错误,它会加载图像,但是将其打包为jar文件后无法加载图像。打包类时,我将图像源与其类打包在一起。
这就是我加载图像的方式:
ImageIcon icon = new ImageIcon( getClass().getResource( "resources/images/button6.gif" ));
包含图像的类和文件夹位于同一目录中。
JAR 中的包装是不同的。
尝试创建一个清单并向其中添加类路径条目。列出相对于图像所在的 JAR 根目录的路径,看看是否有帮助。
尝试:
ImageIcon icon = new ImageIcon( MyClass.class.getResource( "/resources/images/button6.gif" ));
原因:
http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html#getResource%28java.lang.String%29
我试图加载的图像是 gif 图像格式,其文件扩展名 gif 是大写字母 (Ie .GIF
)。我将图像扩展名更改为小写,这解决了问题。