eclipse swt 打包 无法显示图片

 明显感觉Sun在Java语言编写的桌面应用程序的打包发布这方面没有微软做的好,比如微软近几年推出的C#在程序的打包发布做到了傻瓜式的操作一步到位的做成exe文件,而且也不会遇到种种繁琐的问题!
    其实,究根结底还是java程序的各种配置和路径问题所导致,而微软则是依仗其操作系统的天然优势一步到位将c#程序打包成PE文件,哎!
    好了,发完牢骚了再说说在Eclipse中如果导出的jar包运行时发现图片等资源文件丢失了怎么办!我这儿所说的是J2SE程序,起因是程序中用到了些图片文件,在Eclipse中运行的时候一切正常,可是当成jar包导出的时候却发现图片没法显示,后来几经尝试终于解决了问题,但是感觉自己的方法不是最优的,欢迎网友提出更好的想法!
    个人使用的是Eclipse3.3版本的IDE,直接建立个Java Project后,会自动生成一个Src文件夹和一些路径配置(路径配置是不会显示在Package Explore中的,而是会显示Jre的系统库的一些库包)。
    最初我是建立了和Src文件夹同级的目录,也就是res文件夹以存放资源文件,在res中放了些图片文件。然后在需要用到图片的地方的程序时如下写的:
      ImageIcon icon = new ImageIcon("res/system.gif");
    在Eclipse中可以正常的显示,可是当我打成jar包时候发现res文件夹根本没有打入jar包中,很是囧!于是换个思路,直接在src中建个res文件夹,然后将图片资源转入其中,呵呵,程序改如下:
    java.net.URL  imageUrl=trayFrame.class.getResource("../images/system.gif");
    ImageIcon icon = new ImageIcon(imageUrl);
    这样在Eclipse里面图片是加载正常的,打包的时候res文件夹也被顺利的导入到jar包中,当双击运行的时候发现图片还是加载不正常,郁闷啊!我怒,好了,只好将res文件直接删掉,直接将图片放到用到图片的java文件的同级目录下,这样程序如下写:
    ImageIcon icon = new ImageIcon("system.gif");
    再次打成jar包,发现竟然可以了,很是怪异的事情!后来自己揣测了下,估计是在J2SE是通过绝对路径去查找资源文件而不是这儿的通过相对路径查找(除非是在同级目录下面)!不知道自己的想法对不对,还望大家说说自己的想法....
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值