java Swing ImageIcon 包Jar包后的路径问题

栏目: Java · 发布时间: 7年前

如果直接写图片名比如:

new ImageIcon("ico/start.png");

这时它会默认在你的项目工程下找。比如,项目工程是这样的结构,Project1/scr/com/test/aaa.java。那它会找Project/ico/start.png,这个文件。放在这也可以。在Eclipse下执行是正常的。但如果是打成Jar包后。这个图片文件不会被打进去。打进去也找不到。你只能在在这个打好的Jar的同级目录下在放一个这个图片文件、夹。虽然这样可以解决问题。但总感觉,这个图片属于这个Jar的,应该跟Jar是一个整体。

所以,比较好的解决办法是,改成这样, new ImageIcon(getClass().getResource("/ico/start.png"))。这样一改,它的读取位置就是Project1/src/ico/start.png. 这样就可以打Jar包时一起被打进来。并且在Eclipse里执行也能正常显示。比之前那种要考文件的“高级”一些。

眼镜蛇


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

More Effective C++(中文版)

More Effective C++(中文版)

梅耶(Scott Meyers) / 侯捷 / 电子工业出版社 / 2011-1-1 / 59.00元

《More Effective C++:35个改善编程与设计的有效方法(中文版)》是梅耶尔大师Effective三部曲之一。继Effective C++之后,Scott Meyers于1996推出这本《More Effective C++(35个改善编程与设计的有效方法)》“续集”。条款变得比较少,页数倒是多了一些,原因是这次选材比“一集”更高阶,尤其是第5章。Meyers将此章命名为技术(tec......一起来看看 《More Effective C++(中文版)》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器