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)    

誰でも助けてくれますか。

4

3 に答える 3

4

リソースが null であり、ImageIcons を null パラメータで構築することはできません。

「cars-games.jpg」への正しいパスを入力したことを確認してください。

于 2012-11-28T19:50:13.520 に答える
1

画像ファイルを読み取れないため、問題が発生していると思います。

として使用classLoaderしてみてください:

     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 に答える