簡體   English   中英

線程“ Thread-2”中的異常java.lang.IllegalArgumentException:輸入== null

[英]Exception in thread “Thread-2” java.lang.IllegalArgumentException: input == null

Exception in thread "Thread-2" java.lang.IllegalArgumentException: input == null!
at javax.imageio.ImageIO.read(Unknown Source)
at com.game.src.gfx.BufferedImageLoader.loadImage(BufferedImageLoader.java:15)
at com.game.src.main.Game.init(Game.java:43)
at com.game.src.main.Game.run(Game.java:81)
at java.lang.Thread.run(Unknown Source)

這是我的全部錯誤,我有一個非常基本但正在運行的游戲,該游戲是我在Eclipse中創建的。 我嘗試在JGrasp中打開Game.java文件以查看是否可以運行它,因為那是我們在學校使用的程序。 當我嘗試在JGrasp中運行時,它不起作用,因此我再次嘗試在eclipse中運行它,然后出現此錯誤。 這是我的Game.java的一部分,它調用BufferedImageLoader,這是錯誤的出處。

public void init() throws IOException{
    requestFocus();
    BufferedImageLoader loader = new BufferedImageLoader();

    spriteSheet = loader.loadImage("SpriteSheet.png");  

    SpriteSheet ss = new SpriteSheet(spriteSheet);
    im = new ImageManager(ss);

    p = new Player(5 * TILE, 10 * TILE, im, im.playeru);

    this.addKeyListener(p);
    BufferedImage limage = loader.loadImage("/level1.png");
    l1 = new Level(limage);


}

我的游戲類創建了一個名為loader的新BufferedImageLoader實例,並將構造函數設置為(“ SpriteSheet.png”),這是我在Eclipse中BufferedImageLoader類的構造函數。

BufferedImageLoader類如下

package com.game.src.gfx;

import java.awt.image.BufferedImage;
import java.io.IOException;

import javax.imageio.ImageIO;

public class BufferedImageLoader {

private BufferedImage image;


public BufferedImage loadImage(String path) throws IOException{

    image = ImageIO.read(getClass().getResource(path));
    return image;


}


}

我不知道為什么它停止工作,我搜索了很多,如果您能幫助我,將不勝感激! 如果您需要更多代碼或信息,請隨時詢問,謝謝!

您的圖像文件(“ SpriteSheet.png”)應該與BufferedImageLoader類位於同一包中。

查看有關如何指定路徑的文檔- public URL getResource(String name)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM