簡體   English   中英

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

[英]Exception in thread "main" java.lang.IllegalArgumentException: input == null

很多人已經問過這個問題了,但我不能隨便解決。 我正在嘗試按照教程制作 2d 游戲,現在我在精靈角色部分,我正在向我的 GamePanel 添加圖像。

這是堆棧跟蹤:

Exception in thread "main" java.lang.IllegalArgumentException: input == null!
    at java.desktop/javax.imageio.ImageIO.read(ImageIO.java:1356)
    at entity.Player.getPlayerImage(Player.java:53)
    at entity.Player.<init>(Player.java:25)
    at main.GamePanel.<init>(GamePanel.java:29)
    at main.Main.main(Main.java:17)

這是關鍵方法:

public void getPlayerImage() {
        try {
            up1 = ImageIO.read(getClass().getResourceAsStream("/res/player/boy_up_1.png"));
            up2 = ImageIO.read(getClass().getResourceAsStream("/res/player/boy_up_2.png"));
            down1 = ImageIO.read(getClass().getResourceAsStream("/res/player/boy_down_1.png"));
            down2 = ImageIO.read(getClass().getResourceAsStream("/res/player/boy_down_2.png"));
            left1 = ImageIO.read(getClass().getResourceAsStream("/res/player/boy_left_1.png"));
            left2 = ImageIO.read(getClass().getResourceAsStream("/res/player/boy_left_2.png"));
            right1 = ImageIO.read(getClass().getResourceAsStream("/res/player/boy_right_1.png"));
            right2 = ImageIO.read(getClass().getResourceAsStream("/res/player/boy_right_2.png"));
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

getPlayerImage()中,您可能使用了錯誤的圖像路徑。 這導致getClass().getResourceAsStreamnull 這將導致給出read() -方法null而不是文件。

片段 rom ImageIO:

/** @exception IllegalArgumentException if {@code input} is
 * {@code null}.
 * @exception IOException if an error occurs during reading or when not
 * able to create required ImageInputStream.
 */
public static BufferedImage read(File input) throws IOException {
    if (input == null) {
        throw new IllegalArgumentException("input == null!");
    }
    //...    
}

您是否已將res文件夾設置為 IDE 中的資源文件夾?

如果是項目資源文件夾,您可以嘗試重新創建項目。 我遇到了類似的問題,重新創建項目對我有用。

暫無
暫無

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

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