问题是这样的:
我写了一个程序,其中要读取几个图片到ImageIcon类,之后把它作为JLabel的icon,程序写好后我把所有的.class文件压缩成.jar格式,但是这个图片却不能压进取,否则就读不出来,这样我就不得不把程序做成一个jar文件和许多图片,怎样把图片压缩到jar文件中呢?
我写了一个程序,其中要读取几个图片到ImageIcon类,之后把它作为JLabel的icon,程序写好后我把所有的.class文件压缩成.jar格式,但是这个图片却不能压进取,否则就读不出来,这样我就不得不把程序做成一个jar文件和许多图片,怎样把图片压缩到jar文件中呢?
jar cvfm jar包文件 *.mf文件 要压缩的文件 这种格式就行了,
例如 你编译过的class文件在E:\根目录下,图片在E:\image\目录下。然后手动创建一个*.mf文件,用记事本输入以下内容:Main-Class: 主类名(注意冒号与类名间有空格,还要在后面加一个空行)准备工作完成了,
在E:\根目录中,输入 jar cvfm *.jar test.mf *.class image\图片.gif
其中 test.mf就是你自己输入的那个文件,也可以是,test.txt的,
ImageIcon icon=new ImageIcon(类名.class.getResource("图片文件名"));
这样就可以了,
思路与laobeli(安明洋)的一样,不过如果图片在其他目录时需要使用类似于下面的语句:
java.net.URL urlHome=this.getClass().getResource("随便一个类的名称.class");
java.net.URL urlLogo=new java.net.URL(urlHome,"Images/picture.jpg");
再把urlLogo传给ImageIcon
好了,结贴!