线程中的异常

时间:2012-11-28 19:47:20

标签: java

    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。

3 个答案:

答案 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()也可以运行!