码迷,mamicode.com
首页 > 编程语言 > 详细

Eclipse下导出java程序可执行的jar包图片无法显示问题的一种解决方法

时间:2015-04-12 16:17:02      阅读:167      评论:0      收藏:0      [点我收藏+]

标签:java   eclipse   jar   

说明:在eclipse中运行java程序的时候一切正常,可是当把jar包导出的时候却发现图片没法显示,这估计是java程序的各种配置和路径问题所导致,后来找到一种解决方法,供遇到这方面问题的学习java程序的鞋同参考:

Java项目下的目录结构如下:

技术分享

其中class类放在包:package accpedu; (即实际是在如上bin/accpedu文件夹下面)

通过下面的方法来引用图片时,在eclipse里面执行是可以正常显示图片的:

    ImageIcon image1 = new ImageIcon();

    ImageIcon image2 = new ImageIcon();

    ImageIcon image3 = new ImageIcon();

    ImageIcon image4 = new ImageIcon();

    ImageIcon image5 = new ImageIcon();

    image1 = new ImageIcon("images/butffler.jpg");

     image2 = new ImageIcon("images/username.gif");

    image3 = new ImageIcon("images/password.gif");

    image4 = new ImageIcon("images/warning.gif"); 

    image5 = new ImageIcon("images/role2.jpg");

技术分享


但是导出jarschool2.jar后执行,却发现图片没有显示出来:

技术分享

经过一番分析和调试之后,找到了一种解决方法,将引用图片的那段代码修改为下面的方式:

//这种方法即可以在eclipse下找到图片路径,也可以在导出的jar包中找到图片路径 

 //图片必须要放在class目录下面

      java.net.URL imgURL1 = LoginFrame.class.getResource("butffler.jpg");

      image1 = new ImageIcon(imgURL1);

      java.net.URL imgURL2 = LoginFrame.class.getResource("username.gif");

      image2 = new ImageIcon(imgURL2);

      java.net.URL imgURL3 = LoginFrame.class.getResource("password.gif");

     image3 = new ImageIcon(imgURL3);

     java.net.URL imgURL4 = LoginFrame.class.getResource("warning.gif");

     image4 = new ImageIcon(imgURL4);

     java.net.URL imgURL5 = LoginFrame.class.getResource("role2.jpg");

     image5 = new ImageIcon(imgURL5);

 

然后还需要导入一个图片的jar包,由于这种方法必须把图片文件(如butffler.jpg)放在class的相同目录下,即放到目录accpedu下,否则会找不到图片路径的;这样需要把images文件夹改名为accpedu并压缩为accpedu.jar包,其中accpedu文件里面就是直接的图片文件,没有多余的文件夹,这是因为class类放在包:package accpedu;中;然后就可以导入accpedu.jar到项目中,如下:


技术分享

通过这样的命名规则(package accpedu;)导入accpedu.jar包后,其图片会自动导入到了class相同的目录下:

然后再导出java程序的可执行的jarschool.jar


技术分享

解压school.jar包后,图片的确导入到了class相同的目录下:

技术分享

注意:图片的jar包的命令规则必须与class在包中package的结构一致,这样才能正确的把需要导入的图片导到class相同的目录下;另外,用这种方法来显示图片,必须确保图片导到了class目录下,否则程序运行会出现问题,假如图片文件名写错了butffler.jpg 写成butffler1.jpg即会出现下面问题,不仅图片显示不出来,更严重的是整个登录框可没显示完整,这是需要注意的:

技术分享

到此,上述就是一种关于解决eclipse导出java程序的可执行的jar包的图片无法显示的方法!


Eclipse下导出java程序可执行的jar包图片无法显示问题的一种解决方法

标签:java   eclipse   jar   

原文地址:http://blog.csdn.net/dalaoadalaoa/article/details/45010399

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!