java.lang.illegalargumentexception参数不能为null swt
我正在努力解决这个问题,有人能帮我吗。提前谢谢java.lang.illegalargumentexception参数不能为null swt,java,swt,Java,Swt,我正在努力解决这个问题,有人能帮我吗。提前谢谢 public void gui_OCM() { Display d = new Display(); Shell s = new Shell(d, SWT.CLOSE); s.setSize(550, 390); s.setText("My Application"); s.setBackground(s.getDisplay().getSystemColor(10)); InputS
public void gui_OCM()
{
Display d = new Display();
Shell s = new Shell(d, SWT.CLOSE);
s.setSize(550, 390);
s.setText("My Application");
s.setBackground(s.getDisplay().getSystemColor(10));
InputStream is= getClass().getClassLoader().getResourceAsStream("resource/Hello.PNG")
Image my_image= new Image(d,is);
它始终显示以下错误:
线程“main”java.lang.IllegalArgumentException中的异常:参数不能为null
位于org.eclipse.swt.swt.error(未知源)
位于org.eclipse.swt.swt.error(未知源)
位于org.eclipse.swt.swt.error(未知源)
位于org.eclipse.swt.graphics.ImageLoader.load(未知源)
位于org.eclipse.swt.graphics.ImageDataLoader.load(未知源)
位于org.eclipse.swt.graphics.ImageData(未知来源)
位于org.eclipse.swt.graphics.Image(未知来源)
在ocm.ocm_GUI.GUI_ocm(ocm_GUI.java:69)
位于ocm.ocm_GUI.main(ocm_GUI.java:405)
备注:资源是我放置图像的文件夹
任何建议都将不胜感激。谢谢您能在调用getResourceAsStream之前打印System.getProperty(“user.dir”)的输出吗?这样您就可以验证Java进程的工作目录了?它会打印我的项目工作区的位置。InputStream
为
为空
。确保资源
文件夹位于类路径上。或者,您可以将Hellp.PNG放在OCM_GUI
类旁边,并使用getClass().getResourceAsStream(“resource/Hello.PNG”)
打开资源流。@user3087291并且资源文件夹是否直接位于您的项目工作区下?例如,这可能会导致输入错误,或者对通向Hello.PNG文件的路径长度有一些限制,我建议您发布实际输出和项目文件夹的内容。谢谢大家。我只是把所有的图像放在src文件夹中,直接把路径作为图像的名称,它就工作了。我知道这不是一个可行的解决方案,但为了让它发挥作用,我不得不这么做。