Java 当我清楚地正确引用了文件时,出现NullPointerException
我正在编写一个用于实践的基本GUI,我想包含一个图像,在仔细检查所有代码后,运行它时仍然会出现Java 当我清楚地正确引用了文件时,出现NullPointerException,java,Java,我正在编写一个用于实践的基本GUI,我想包含一个图像,在仔细检查所有代码后,运行它时仍然会出现NullPointerException Image i; ImageIcon ii; 编辑:NPE出现在我初始化ImageIcon的行中,检查文档中的“GetResource(..)”: 用于读取资源的URL对象,如果找不到资源或调用程序没有足够的权限获取资源,则为null 尝试使用getResource(“/shrek.jpg”)如果您不告诉我们NullPointerException发生在哪
NullPointerException
Image i;
ImageIcon ii;
编辑:NPE出现在我初始化
ImageIcon
的行中,检查文档中的“GetResource(..)”:
用于读取资源的URL对象,如果找不到资源或调用程序没有足够的权限获取资源,则为null
尝试使用
getResource(“/shrek.jpg”)
如果您不告诉我们NullPointerException发生在哪里,我们就帮不了您什么忙……您把shrek.jpg
图像放在哪里了?与所有这些情况一样,将语句分成两部分,这样您就可以检查this.getClass().getResource(“shrek.jpg”)的值,这显然是null
。然后找出为什么找不到文件,他没有提供信息。关于他的形象的位置。所以你的答案纯粹是猜测。@brano他没有,但这是关于NPE的唯一可能解释。我们不能确切地说它为什么找不到资源,但很明显它要么不存在,要么命名不当。好吧,好吧,我撤回了我的否决票。虽然我投票结束了这个问题。
public Pnl() {
BorderFactory.createLineBorder(Color.BLACK, 5);
setBackground(Color.GREEN);
x = 10;
y = 10;
ii = new ImageIcon(this.getClass().getResource("shrek.jpg"));
i = ii.getImage();
setDoubleBuffered(true);
timer.start();
} // end of constructor