Java: 无法访问资源中的图片

Java: Cannot access images in resources

我一直在尝试将我的项目导出为 Runnable Jar,但我的资源不会加载,因为我是直接尝试从我的项目路径访问图像。例如:

ImageIcon icon = new ImageIcon("resources/icon.png");

当我从 Eclipse 本身 运行 项目时,这会起作用,但我注意到图像没有包含在 jar 文件中。所以经过研究,我发现我需要创建源文件夹并将 images/text 文件放入其中,然后使用 getClass().getResource() 来访问它们。但是,当我这样做时,URL 总是返回为 null。

作为参考,这是我的项目浏览器的样子:

Test
---src

---resources
   ---icon.png

---config
   ---file.ini

这是在尝试访问 icon.png:

时给我一个 NullPointerException 的代码
ImageIcon icon = getClass().getResource("/resources/icon.png");

或者,我也尝试过:

ImageIcon icon = getClass().getClassLoader().getResource("resources/icon.png");

但这也以 NullPointerException 结束。我已经在线检查了很多解决方案,但其中 none 似乎对我有用。请注意,我还需要能够访问 .ini 文件,因此仅适用于图像的解决方案无法完全解决我的问题。任何帮助将不胜感激,谢谢。

您的结构需要:

TEST
   -SRC
     -Resources
       -icon.png

您的代码现在的方式是没有图像,因为您的代码引用的是 /src/resources 而不是 test/resources