2012-11-28 34 views
0
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

哪一行是第58行? – Xymostech

+0

这是第58行吗? –

+0

介绍i = new Intro(); –

回答

4

您的资源为空,且无法使用空参数构建ImageIcons。

确保您输入了“cars-games.jpg”的正确路径。

+0

很高兴有帮助。不要忘记将答案标记为已接受。 – Vulcan

1

我认为它无法读取您的图像文件,因此这个问题。

尝试使用classLoader为:

 ImageIcon pic = new ImageIcon(getClass().getClassLoader() 
            .getResource("cars-games.jpg")); 

如果你仍然得到那么同样的问题,确保cars-games.jpg是在你的类加载器的位置的根可用。

+0

这应该没什么区别,因为'Class#getResource'只是从它的类加载器调用同样的方法。 – Vulcan

0

我在本学期的java游戏项目开发开始时就遇到了这个问题。这通常意味着您尝试访问的资源无法找到(即Nullpointerexception)。我所做的一切都比较容易,只是在您的java项目中创建一个名为images的单独文件夹(特别是如果您在此项目中使用多个图像)。然后你可以用你的目录调用新的ImageIcon。最终让事情变得更容易。

如前所述,getClassLoader()也可以工作!