Java Swing:从jar文件运行时不显示图像

Java Swing:从jar文件运行时不显示图像,java,eclipse,swing,jar,Java,Eclipse,Swing,Jar,Swing应用程序及其映像在eclipse中运行良好。但当我从jar文件运行时,图像不会显示。我尝试以不同的方式加载图像,但有时jar文件无法执行 ImageIcon wrong = new javax.swing.ImageIcon(getClass().getResource("/chack img/Red Cross1.PNG")); “我的图像”文件夹位于源文件夹内 我用以下内容加载图像: 1.在eclipse中运行良好,但在jar中运行不好 ImageIcon right = new

Swing应用程序及其映像在eclipse中运行良好。但当我从jar文件运行时,图像不会显示。我尝试以不同的方式加载图像,但有时jar文件无法执行

ImageIcon wrong = new javax.swing.ImageIcon(getClass().getResource("/chack img/Red Cross1.PNG"));
“我的图像”文件夹位于源文件夹内

我用以下内容加载图像:

1.在eclipse中运行良好,但在jar中运行不好

ImageIcon right = new ImageIcon("./chack img/Green Tick 1.PNG");
2.在eclipse中运行良好,但jar文件未执行

ImageIcon wrong = new javax.swing.ImageIcon(getClass().getResource("/chack img/Red Cross1.PNG"));

我还尝试了一些其他代码,但我的问题仍然没有解决。

将图像和类一起放在src文件夹中。可选,但制作一个存储图像的包。编译jar文件不会保留任何非源目录的目录。

此外,请删除文件夹和文件名中的所有空格。这可以防止混淆,并且可能是您的问题的一部分。在编程中,以及在命名文件夹和文件的大多数情况下,无间距是一种很好的做法

同样,如果是正确的,您不应该在文件扩展名中使用大写字母,因为同样的原因,您不应该使用空格;这会引起混乱,在大多数情况下,这是一种不好的做法


编辑:

这些文件真的是这样命名的吗?JAR是区分大小写的,因此如果实际名称是“.png”,请使用它。请参阅中的
learn more…