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

JAVA学习笔记 -- 把资源文件打包到jar包

时间:2014-07-06 00:23:37      阅读:356      评论:0      收藏:0      [点我收藏+]

标签:java   gui   class   

初学GUI,用Eclipse导出jar包,设定的最小化图标不能显示(hello.png文件放在项目的根目录下)。代码如下:

import javax.swing.JFrame;
import java.awt.Toolkit;
import java.awt.Image;
import java.net.URL;

public class GUITest {
	public static void main(String[] args) {
		JFrame frame = new JFrame();
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		Toolkit kit = Toolkit.getDefaultToolkit();
		Image image = kit.getImage("hello.png");
		frame.setIconImage(image);
		frame.show();
	}
}

后来我发现只要把jar包和hello.png在同一目录下,图标就可以正常显示。这表示jar是一个单独的文件而非一个文件夹。而上面这代码表示导出的jar文件和hello.png必须要在相同路径下。

解决方法

import javax.swing.JFrame;
import java.awt.Toolkit;
import java.awt.Image;
import java.net.URL;

public class GUITest {
	public static void main(String[] args) {
		JFrame frame = new JFrame();
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		Toolkit kit = Toolkit.getDefaultToolkit();
		URL imgURL = GUITest.class.getResource("images/hello.png");
		Image image = kit.getImage(imgURL);
		frame.setIconImage(image);
		frame.show();
	}
}

把hello.png的目录是 "项目名/bin/images/hello.png" 可以看到images 和class文件是同一目录的,所以代码中"images/hello.png"是表示相对路径。当然也可以把images文件夹放在项目的根目录下,只要把路径改成"/images/hello.png" 。这样,导出jar包后,在其他位置也可以正常显示图标,因为路径正确了。




JAVA学习笔记 -- 把资源文件打包到jar包,布布扣,bubuko.com

JAVA学习笔记 -- 把资源文件打包到jar包

标签:java   gui   class   

原文地址:http://blog.csdn.net/u012964281/article/details/37035423

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