java项目运行 资源不可_关于JAVA的SWING项目导出可执行JAR时图片资源问题

我们在做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前面的斜杠不可少,否则会报错读取不到资源造成空指针,其他如音频资源也是类似做法。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值