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。

4

3 回答 3

4

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

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

于 2012-11-28T19:50:13.520 回答
1

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

尝试使用classLoaderas :

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

如果您仍然遇到相同的问题,请确保它cars-games.jpg在您的类加载器位置的根目录中可用。

于 2012-11-28T19:51:52.300 回答
0

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

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

于 2012-11-28T20:59:34.547 回答