导出的 JAR 文件不显示图像

Exported JAR file does not show images

我在 Eclipse 中有一个 Java 项目。这是文件夹结构:

代码包在src,所有图片在res文件夹。

代码中的图片是这样引用的:

new ImageIcon("res/settings.gif");

但是,在我将项目导出到 JAR 文件(通过在 Eclipse 中使用导出 -> 可运行的 JAR 文件)和 运行 JAR 之后,没有显示任何图像。如果我用 WinRAR 打开 JAR,这是它的结构:

所有图片都在根文件夹中,无法正确引用。我如何正确引用图像,以便它们在 Eclipse 和导出的 JAR 中都可见?

.jar 文件中未创建 res/ 文件夹。看起来资源位置不应该是 "res/settings.gif" 而是 "/settings.gif".

如果您在 Eclipse 中进行调试,它就会开始工作,因为主目录将是您项目的根目录,res/ 文件夹实际存在于此。

解决方案是使用绝对路径

new ImageIcon("/settings.gif");

或确保将 res 文件夹复制到 jar 中。也许 src/res 或将文件夹标记为 eclipse 中的源文件夹;我现在在另一个 IDE.

那就是

new ImageIcon("/res/settings.gif");

我想我找到了解决办法:

替换这个

new ImageIcon("res/settings.gif");

new ImageIcon(this.getClass().getResource("/settings.gif"));

在 Eclipse 和可运行的 JAR 文件中都可以工作。