<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>图片 on 庞玉栋个人博客</title><link>https://pangyd.com/tags/%E5%9B%BE%E7%89%87/</link><description>Recent content in 图片 on 庞玉栋个人博客</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Sun, 20 Aug 2017 16:58:51 +0800</lastBuildDate><atom:link href="https://pangyd.com/tags/%E5%9B%BE%E7%89%87/index.xml" rel="self" type="application/rss+xml"/><item><title>导出含有图片的Java项目，图片不显示</title><link>https://pangyd.com/post/69-java/</link><pubDate>Sun, 20 Aug 2017 16:55:36 +0800</pubDate><guid>https://pangyd.com/post/69-java/</guid><description>&lt;div>项目的一些图片资源文件在导出成JAR包后，无法正确读取虽然Java项目还是可以运行，但原来的图片资源全不见了，于是你可以打开JAR包看看里面的东西，确实是有图片在里面，就是无法读取。&lt;/div>&lt;p>&lt;span>其实是因为我们在导出成JAR包后，图片资源的路径已经发生了变化，造成无法读取的问题&lt;/span>&lt;/p>&lt;p>首先在项目的SRC目录下建立一个包，然后再把图片等资源放进包中，然后再通过下面的方法进行读取：&lt;/p>&lt;div>&lt;span>ImageIcon img = new ImageIcon(【你的主类名称】.class.get&lt;/span>&lt;span>getResource("/pic/index.png"));&lt;/span>&lt;/div>&lt;div>比如我在SRC目录下建立了一个pic包，包下面放了一张图片index.png，我的读取图片主类是MySample，那么我需要读取index.png这张图片时就要这样做：&lt;/div>&lt;div>&lt;span>ImageIcon indexImage = new ImageIcon(MySample.class.get&lt;/span>&lt;span>getResource("/pic/index.png"));&lt;/span>&lt;/div>&lt;div>要注意的是路径中pic前面的斜杠不可少，否则会报错读取不到资源造成空指针，其他如音频资源也是类似做法。&lt;img type="face" src="https://pangyd.com/uploads/2017/08/c8ea831c46d1b44c.gif" real_src="https://www.sinaimg.cn/uc/myshow/blog/misc/gif/E___6716EN00SIGG.gif" alt="关于JAVA的SWING项目导出可执行JAR时图片资源问题" title="关于JAVA的SWING项目导出可执行JAR时图片资源问题">&lt;/div></description></item></channel></rss>