问题描述
代码如下:publicSimpleFrame(){setBounds(300,100,300,300);setResizable(true);this.setIconImage(this.getToolkit().getImage(getClass().getResource("D:\Chrysanthemum.jpg")));}这是报错:Uncaughterrorfetchingimage:java.lang.NullPointerExceptionatsun.awt.image.URLImageSource.getConnection(URLImageSource.java:115)atsun.awt.image.URLImageSource.getDecoder(URLImageSource.java:125)atsun.awt.image.InputStreamImageSource.doFetch(InputStreamImageSource.java:263)atsun.awt.image.ImageFetcher.fetchloop(ImageFetcher.java:205)atsun.awt.image.ImageFetcher.run(ImageFetcher.java:169)我的目录下有这个文件肯定没错只是不知道代码哪里出错了
解决方案
解决方案二:
空指针问题,直接打断点,看那一行的哪一个对象没出初始化或没拿到值
解决方案三:
加断电进行调试的时候进入了这样一个函数但是无法查看imageList的值publicvoidsetIconImage(Imageimage){ArrayList<Image>imageList=newArrayList<Image>();if(image!=null){imageList.add(image);}setIconImages(imageList);}
解决方案四:
进setIconImage方法前看看this.getToolkit().getImage(getClass().getResource("D:\Chrysanthemum.jpg"))这里面的对象都能拿到不,一步一步看this.getToolkit(),this.getToolkit().getImage,getClass(),getClass().getResource("D:\Chrysanthemum.jpg"),看里面的传值有问题没,我猜是里面的传值可能有问题了