我们在做SWING项目导出的时候,会遇到这样一个问题,项目的一些图片资源文件在导出成JAR包后,无法正确读取(虽然SWING项目还是可以运行,但原来的图片资源全不见了),于是你可以打开JAR包看看里面的东西,确实是有图片在里面,就是无法读取。
原因很简单,因为我们在导出成JAR包后,图片资源的路径已经发生了变化,造成无法读取的问题(一般我们习惯了Web项目之后,问题喜欢在项目根目录下面建立pic之类的资源文件夹,但是在SWING项目中这种做法导出后就无法如愿了)。
解决的办法很简单,首先在项目的SRC目录下建立一个包,然后再把图片等资源放进包中,
然后再通过下面的方法进行读取:
ImageIcon img = newImageIcon(【你的主类名称】.class.getgetResource("/pic/index.png"));
比如我在SRC目录下建立了一个pic包,包下面放了一张图片index.png,我的读取图片主类是MySample,那么我需要读取index.png这张图片时就要这样做:
ImageIconindexImage = new ImageIcon(MySample.class.getgetResource("/pic/index.png"));
要注意的是路径中pic前面的斜杠不可少,否则会报错读取不到资源造成空指针,其他如音频资源也是类似做法。
Comments | NOTHING