0

Javaでゲームプログラミングの基礎を学んでいます。何らかの理由で、を使用してプログラムを作成するたびにImageIcon、エラーが発生します。

Exception in thread "main" java.lang.NullPointerException
at javax.swing.ImageIcon.<init>(Unknown Source)
at game.Picture.<init>(Picture.java:14)
at game.Main.<init>(Main.java:11)
at game.Main.main(Main.java:7)

いくつか実験した後、Eclipse が作成するデフォルトのパッケージを使用すると、プログラムが正常に動作することがわかりました。ただし、独自のパッケージを作成すると、プログラムはエラーを返します。

以下に2つの同一のプログラムがあります。唯一の違いは、1つはデフォルトのパッケージを使用し、もう1つは「ゲーム」と呼ばれる独自のパッケージを使用することです

ここに画像の説明を入力

の場所に問題がある場合に備えて、パッケージ エクスプローラーのビューを含めました。ship.png

4

1 に答える 1

2

場所にあると思います。「raw/ship.png」の代わりに「/raw/ship.png」を使用する必要があります

試す:

   ImageIcon il = new ImageIcon(this.getClass()
                .getResource("/raw/ship.png");

現在のコードでは、「raw/ship.png」は Java によってPackage_Name/raw/ship.pngに変換されます。これは、以下の例ではgame/raw/ship.pngです。コードが既定のパッケージ(package_name="") から実行される場合、 Package_Name/raw/ship.png/raw/ship.pngになり、機能します。

package game;

...

   ImageIcon il = new ImageIcon(this.getClass()
                .getResource("raw/ship.png");
于 2013-07-13T07:49:11.120 に答える