public class Intro extends JFrame implements ActionListener {
ImageIcon pic = new ImageIcon(this.getClass().getResource("cars-games.jpg"));
JLabel l1 = new JLabel();
Image car = pic.getImage();
public static void main (String[]args){
Intro i = new Intro();
i.show();
}
}
它给了我这个错误:
Exception in thread "main" java.lang.NullPointerException
at javax.swing.ImageIcon.<init>(Unknown Source)
at Intro.<init>(Intro.java:15)
at Intro.main(Intro.java:58)
任何人都可以帮助PLZ。
答案 0 :(得分:4)
您的资源为null,并且无法使用null参数构造ImageIcons。
确保您输入了“cars-games.jpg”的正确路径。
答案 1 :(得分:1)
我认为它无法读取您的图片文件,因此也是问题。
尝试将classLoader
用作:
ImageIcon pic = new ImageIcon(getClass().getClassLoader()
.getResource("cars-games.jpg"));
如果仍然遇到同样的问题,请确保cars-games.jpg
在类加载器位置的根目录中可用。
答案 2 :(得分:0)
我在本学期的Java游戏项目开发之初就遇到了很多这个问题。这通常意味着无法找到您尝试访问的资源(即Nullpointerexception)。我所做的让一切变得更容易的只是在你的java项目中创建一个名为images的单独文件夹(特别是如果你在这个项目中使用多个图像)。然后,您可以使用您的目录调用新的ImageIcon。最终使事情变得容易多了。
如前所述,getClassLoader()也可以运行!