2017-03-24 37 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

我试着改变文件类型,没有工作。重读这个答案,并最终找出答案。谢谢! –

相关问题