java getClass()。getResource(…)找不到我的图像
我运行我的应用程序,得到以下异常
Exception in thread "main" java.lang.NullPointerException
at javax.swing.ImageIcon.<init>(ImageIcon.java:167)
at view.View.getBookmarkPanel(View.java:162)
...
错误的来源在这里
JButton addButton = new JButton(new ImageIcon(this.getClass().getResource("img/plus.png")));
我理解异常意味着它无法通过提供的目录分配请求的映像,并声明映像不存在。这让我困惑,因为图像确实存在
My Documents\workspace\PersonalProjectUpdate\src\main\resources\img\plus.png
在我将文件组织到包中之前,代码一直运行良好,即使在我取消了此更改后,错误仍然会发生,但是它不应影响应用程序如何从资源文件夹分配文件
为什么要这样做,有人能帮我吗
# 1 楼答案
^{} 将传递给它的路径视为相对于类的包,因此在您的例子中,它正在寻找
src\main\resources\view\img\plus.png
要解决此问题,请添加一个前导斜杠以指示路径为绝对路径: