最近在做一个远程发布的swing工具,我的想法是直接将其打成一个jar包,运行jar包弹出swing界面,现在所有的准备工作做好了,但是遇到一个问题,我在jar包里面放的*.properties文件 xml 文件 和 图片文件不能读取,*.properties文件 xml 文件我可以使用其他方式来代替处理,但是 图片的画就不行,要不然发布的时候jar旁边放一个文件夹图标,我想的是我发布就一个jar搞定,所以请问下高手 swing画 文件夹图标怎么弄? 在此感谢,如果这个工具写好了 我将同步到javaeye上附源代码,谢谢????
你试试这种方式:
jar cvmf META-INF\Version.MF exe.jar com/
:wink:
URL url = getClass().getClassLoader().getResource(path);
path 是图片在jar文件里的路径。
同样、getResourceAsStream 方法可以用来读取 xml 、properties 文件。
[quote]我在jar包里面放的*.properties文件 xml 文件 和 图片文件不能读取,*.properties文件 xml 文件我可以使用其他方式来代替处理,但是 图片的画就不行[/quote]
为什么图片和xml资源文件放在jar包就不行?
试试下面这段代码:
[code="java"]
/**
* @since 2010-11-17上午11:35:55
* @方法功能描述:获得指定名称的资源的URL。注意:该资源名称包含完整的相对路径(相对于运行起始路径)名称。
* 并且路径分隔符必须用"/"表示,例如"com/raisecom/mibtool/ifindex/ui/images/default.gif"
* @修改记录:
*/
public static URL getResourceURL(String fileName) {
Component anchor = new Component() {
};
ClassLoader loader = anchor.getClass().getClassLoader();
URL fileLocation = loader.getResource(fileName);
return fileLocation;
}
[/code]
[code="java"]
public static ImageIcon getIcon(String name) {
URL url = getResourceURL(name);
if (url != null) {
return new ImageIcon(url);
}
return null;
}
[/code]
:wink:
你在代码环境里跑应该没有空指针异常吧?
如果是这样的话,那就是你打包的方式不对
估计打包出的问题,或者就是文件路径的问题。
或者你用Eclipse的file——》export功能
也可以打包成为可执行的jar包 :P
图标不是画的,应该是图片。。