问题是这样的:
我写了一个程序,其中要读取几个图片到ImageIcon类,之后把它作为JLabel的icon,程序写好后我把所有的.class文件压缩成.jar格式,但是这个图片却不能压进取,否则就读不出来,这样我就不得不把程序做成一个jar文件和许多图片,怎样把图片压缩到jar文件中呢?

解决方案 »

  1.   

    几乎所有类型文件都可以压进去的,当然也包括图片,
    jar cvfm jar包文件 *.mf文件 要压缩的文件 这种格式就行了,
    例如 你编译过的class文件在E:\根目录下,图片在E:\image\目录下。然后手动创建一个*.mf文件,用记事本输入以下内容:Main-Class: 主类名(注意冒号与类名间有空格,还要在后面加一个空行)准备工作完成了,
    在E:\根目录中,输入 jar cvfm *.jar test.mf *.class image\图片.gif
    其中 test.mf就是你自己输入的那个文件,也可以是,test.txt的,
      

  2.   

    哦对了,还有就是,如果打成包后,就不能直接调用图片了,要用一个方法才行
    ImageIcon icon=new ImageIcon(类名.class.getResource("图片文件名"));
    这样就可以了,
      

  3.   

    搞定了!
    思路与laobeli(安明洋)的一样,不过如果图片在其他目录时需要使用类似于下面的语句:
    java.net.URL urlHome=this.getClass().getResource("随便一个类的名称.class");
    java.net.URL urlLogo=new java.net.URL(urlHome,"Images/picture.jpg");
    再把urlLogo传给ImageIcon
    好了,结贴!