0
获取图像(首先,我很抱歉,如果有一个像这样的百万个问题。我已经尝试尽我所能,这是推动我疯了!)错误,同时从资源文件夹
我m试图给JButton一个图标,但我一直得到由ImageIO引起的IllegalArgumentException
。
这是我有:
//Other UI elements^
JButton X = new JButton("Clear");
//com.oliveira.ux is the package name
Image img = ImageIO.read(getClass().getResource("/com.oliveira.ux/resource/gtk-clear.png"));
Icon clear = new ImageIcon(img);
//More UI elements
图标位于在src/包装名称 /资源/。 (我使用eclipse)。 我试图在代码更改上面的位置(我写在这里的人是最后一个我想),但我得到的是,当我运行德的.jar一个IllegalArgumentException。有什么建议么?
提前
非常感谢以下是完整的错误消息:
Caused by: java.lang.IllegalArgumentException: input == null!
at javax.imageio.ImageIO.read(Unknown Source)
at com.oliveira.ux.Main.<init>(Main.java:146)
at com.oliveira.ux.Main.main(Main.java:75)
... 5 more
这点在我上面写的代码ImageIO的该部分。
请张贴完整的堆栈跟踪,连同任何部分“所造成”,并注明您的代码被抛出异常的语句。 –
'的getClass()。getResource()方法'查找相对于当前类的位置的文件,所以如果你的类已经是com.oliveira.ux包内,那么你只需要通过它'“资源/ gtk- clear.png“'。顺便说一下,包是文件夹,所以com应该是一个文件夹,oliveira应该是一个子文件夹,等等;因此,你会做一些像com/oliveira/blah/blah。 – sgbj
这是'com.oliveira.ux'假设是一个web引用或包路径参考。如果它是一个路径,它不应该用'分开.'但是'/' – MadProgrammer