0

私は現在ゲームをプログラミングしていて、ImageLoaderクラスからロードしてイメージを作成しようとしていますが、次のエラーが発生し続けます:

Exception in thread "main" java.lang.IllegalArgumentException: input == null!
at javax.imageio.ImageIO.read(ImageIO.java:1338)
at game.ImageLoader.getImage(ImageLoader.java:24)
at game.TestPanel.<init>(TestPanel.java:38)
at game.TestApplication.main(TestApplication.java:26)

クラスを呼び出しているクラスのコードは次のImageLoaderとおりですが、catch ブロックでもエラーが発生します。

    public TestPanel ()
        {
        try
        {
            ClassLoader myLoader = this.getClass().getClassLoader();
            ImageLoader loader = new ImageLoader();
            backdrop = loader.getImage("resources/Asteroid.jpg");
            ImageLoader test = new ImageLoader();
            ship = test.getImage("resources/Alien-Ship.png");
            InputStream pointStream = myLoader.getResourceAsStream("resources/path_1.txt");
            Scanner s = new Scanner (pointStream);
            objectPath = new PathPoints(s);
            squid = objectPath.getStart();


        }
        catch (IOException e)
        {
            System.out.println ("Could not load: " + e);
        }
        addMouseListener(this);
    }

そして、ここに私のImageLoaderクラスのコードがあります:

    import java.awt.Image;
    import java.io.IOException;
    import java.io.InputStream;
    import java.util.Scanner;

    import javax.imageio.ImageIO;

    public class ImageLoader {

    public Image loadedImage;

        public ImageLoader(){


        }

        public Image getImage(String s){
        try
                {
                    ClassLoader myLoader = this.getClass().getClassLoader();
                    InputStream imageStream = myLoader.getResourceAsStream(s);
                    loadedImage = ImageIO.read(imageStream);
                }
                catch (IOException e)
                {
                    System.out.println ("Could not load: " + e);
                }

                return loadedImage;
         }

        }

null をスローするのはなぜですか! のパスを変更しようとしましたが、resources/Asteroid.jpg/resources/Asteroid.jpgも変更されませんでした。

resources画像とポイントリソースを保存しているパッケージであるため、クラスパスに関連しています。ツリーの画像をアップロードできないため、次のようになります。

プロジェクト - MyGame

パッケージ:

play - すべてのクラスファイルとコードを含む

リソース - すべての画像とドキュメントが含まれています

4

0 に答える 0