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

时间:2016-07-13 16:09:21

标签: java url resources imageicon

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

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

当我从Eclipse本身运行项目时,这将起作用,但我注意到图像没有包含在jar文件中。所以在研究之后,我发现我需要创建源文件夹并将图像/文本文件放在其中,然后使用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。我在网上查了很多解决方案,但似乎没有一个对我有用。请注意,我还需要能够访问.ini文件,因此仅适用于图像的解决方案无法完全解决我的问题。非常感谢任何帮助,谢谢。

1 个答案:

答案 0 :(得分:0)

您的结构需要:

TEST
   -SRC
     -Resources
       -icon.png

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