2017-03-24 68 views
-2

對於我的計算機科學類,我試圖做一個跳舞革命的小程序版本,但我的電腦的控制檯不斷出現「java.lang.IllegalArgumentException:image = = null!「「java.lang.IllegalArgumentException:input == null!」當我使用ImageIO.read(url)

這裏是我的箭頭一個代碼概述,我試圖做:

public void arrowOutlineLeft(Graphics page) 
{ 
    page = (Graphics2D)page; 

    Image arrowOutlineLeft = null; 
    try 
    { 
     URL url = getClass().getResource("/images/ddr arrow outline - left.jpg"); 
     arrowOutlineLeft = ImageIO.read(url); 
    } 
    catch(Exception e) 
    { 
     System.out.println(e); 
    } 
    page.drawImage(arrowOutlineLeft,5,75,101,110,null); 
} 

我該如何解決這個問題?

編輯:我所有的圖像都在「圖像」文件夾中,而我的圖像文件就像它應該在文件夾中一樣。

此外,請儘量保持您的答案簡單。我只是在2016年9月左右纔開始使用Java。

+0

項目本身中的路徑是「/ images」嗎? – 11thdimension

+0

這意味着沒有圖像出現在網址。 「圖片」文件夾位於何處,並且該文件夾中是否存在「ddr箭頭輪廓 - left.jpg」? – SomeDude

+0

如果您告訴我們項目中的照片在哪裏,我們可以告訴您應該如何找回照片。 – DVarga

回答

-1

原因ImageIO.read(url);拋出IllegalArgumentException是因爲您傳遞的URL(url)爲空。當您使用getResource()獲取網址時,請確保您擁有正確的路徑。

如果您在com.test包有MainClass.java,你必須要使用getClass().getResource("test.png")訪問test.png你將不得不把在同一個包test.png作爲MainClass.java

我也發現在使用getResource時在路徑前放置'/'不起作用,因此請嘗試URL url = getClass().getResource("images/ddr arrow outline - left.jpg");並查看是否有效。

+0

我試過了,它仍然出現IllegalArgumentException。也許我有錯誤的圖像文件類型? –

+0

我試着改變文件類型,沒有工作。重讀這個答案,並最終找出答案。謝謝! –

相關問題