我正在编写一个小型应用程序,当我尝试创建 ImageIcon 时,我总是遇到异常。异常是由这行代码引起的:
prayerLevel.setIcon(new ImageIcon(getClass().getResource("/icons/icon_prayer.png")));
现在在我的程序中,文件夹 /icons/ 确实存在。我不知道这是否有什么区别,但类文件位于包内,而图标文件夹位于项目文件夹内(当您看到 bin 和 src 文件夹时)。
我环顾四周,找不到可以帮助我解决问题的解决方案。也许你们中有人可以帮忙?
编辑:有人询问我的文件夹层次结构:
我知道类文件与图标不在同一文件夹中,但我制作了应用程序,我必须从不同的文件夹加载文件,并且 /folder/ 总是可以工作。
Edit 2:
System.out.println(getClass().getResource("/icons/icon_prayer.png") == null);
打印真实。
我相信 NPE 正在被抛弃ImageIcon
构造函数为getResource
正在返回null
.
请尝试以下操作:
getClass().getClassLoader().getResource("/icons/icon_prayer.png")
Or:
ClassLoader.getSystemResource("/icons/icon_prayer.png")
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)