无法通过相对路径检索图像

时间:2018-09-03 11:40:15

标签: java image swing path embedded-resource

我正在尝试通过相对路径检索图片,但是无论我尝试使用哪种路径组合,它总是返回java.lang.NullPointerException。

private final Icon cardBack = new ImageIcon(getClass().getResource(
    "src/main/resources/Images/cardIcons/cardBack.png"));

enter image description here

https://pastebin.com/sDjP87p3

3 个答案:

答案 0 :(得分:1)

我相信NPE是从ImageIcon构造函数中抛出的,因为getResource返回null。

尝试以下操作:

private final Icon cardBack = new ImageIcon(getClass().getClassLoader().getResource("src/main/resources/Images/cardIcons/cardBack.png"));

或者:

private final Icon cardBack = new ImageIcon(ClassLoader.getSystemResource("src/main/resources/Images/cardIcons/cardBack.png"));

答案 1 :(得分:0)

我以前遇到过这个错误。您必须在路径之前添加“ /”。

答案 2 :(得分:0)

  

private final Icon cardBack = new ImageIcon(getClass().getResource("/Images/cardIcons/cardBack.png"));

在将应用程序重新制作为普通的Java项目后工作。显然,问题是由Maven引起的,原因尚未明了。