elcipse jar 图片导出.doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
elcipse jar 图片导出

Eclipse把资源文件(图片等)打入jar包 java?2009-08-20 00:30:04?阅读695?评论0??字号:大中小?订阅 ? 用Eclipse导出jar包,可能会遇到所用的图片怎么打不到jar中。那么怎样才能把图片导入到jar中,好吧,我们来简单的说说。分两种编译路径来说。? 情况一: 1、??Window-Prefences中的Build Path如下: ? 2、??temp、包test.sfx及源文件Test.java、存放图片的文件夹images及图片surfing.gif的关系如下: Test.java的源码: package?test.sfx; import?javax.swing.*; ? public?class?Test { ? ????JFrame?jf=new?JFrame(Test); ????JLabel?jl=null; ??? ????public?Test(){ ?????? ???????jl=new?JLabel(new?ImageIcon(Test.class.getResource(/images/surfing.gif))); ???????jf.add(jl); ???????jf.setSize(300,300); ???????jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); ???????jf.setVisible(true); ????} ? ????public?static?void?main(String[] args) { ???????new?Test(); ????} ? } 注意粗体部分的为使用图片的方法Test.class.getResource(/images/surfing.gif),Test是使用图片所在类的类名,字符串前有/ ??导出jar包名为test.jar,这个就不用说啦,大家都知道啊 4、??用winrar打开test.jar,如下图 ??? images里存放serfing,gif,sfx里存放的是Test.class。事实上getResource(/images/surfing.gif)的字符串前 【1】????????有/时,系统从bin目录开始搜索,找到images,在找到suring.gif的。打成test.jar文件,这个文件就相当于bin,所以由上面的目录树可知依然可以找到图片。当我们在src中创建images文件夹并把图片放在其中,记得要在工程目录上右击选择refresh,之后运行,eclipse会自动在bin目录下创建一个文件夹images,存放的资源和src下的是一样的。就是说eclipse会将src中的文件夹连同.java文件生成的class文件和资源文件一同放到bin下。打成jar后,jar文件就相当于bin。 【2】????????没有/时,是从包目录开始搜索的,所以可以把images放到src/test/sfx下面,之后refresh,运行,会发现在bin/test/sfx下有images,其实道理就是粗体部分所说的啊! 【3】????????可以把图片surfing.gif直接放在src/test/sfx下面,那么红体字符串就是surfing.gif 情况二 1、如果在Window-Prefences中的Build Path如下: 2、工程temp、包test.sfx及源文件Test.java、存放图片的文件夹images及图片surfing.gif的关系如下: 3、代码中的红体字符串还是/images/surfing.gif,这里的搜索就是从工程temp开始的了。打成jar文件后,jar文件也就相当于工程目录。如果是images/surfing.gif,就是从test/sfx开始搜索,所以可以把images放在test/sfx下,注意字符串变成了images/surfing.gif,之后refresh。运行正常,打包也可以运行。 补充 对了还有Test.class.getResource(/images/surfing.gif)可以用 Test.class.getClassLoader().getResource(images/surfing.gif)来替换,这个类加载器,怎么查找实在是复杂。在磁盘上文件位置不变的情况下,代码中这两种写法都是正确的哈。 ? ?

文档评论(0)

hhuiws1482 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:5024214302000003

1亿VIP精品文档

相关文档