经常看到有人在问一个问题:我把我的项目打包以后找不到我的图片文件.我要怎么去显示我的图片文件.
今天在这里我就介绍一下我在这个过程中解决该问题的两种方式供大家参考.
我在处理图片的过程中使用了两种方式,第一:将图片文件放到包中,第二:将图片放到包外.
读取第一种方式的方法很简单,需要写一个方法,
参数path的样式:com/westsoft/cuscomponent/image/icon.png
从你项目的起始包的位置一直写到你图片的名字,注意大小写,即 .PNG和.png是不同的.
//声明一个静态的,final JPanel对象
private static final JPanel panel = new JPanel();
/**
* 根据某个URL得到这个URL代表的图片 并且把该图片导入内存
*
* @param path URL
* @return 一个Image对象
*/
public final static Image getImage(String path) {
URL url = ((URLClassLoader) Util.class.getClassLoader()).findResource(path);
Image im = Toolkit.getDefaultToolkit().createImage(url);
try {
MediaTracker mt = new MediaTracker(panel);
mt.addImage(im, 0);
mt.waitForAll();
} catch (Exception exe) {
exe.printStackTrace();
}
return im;
}
第二种方式即把图片文件放到包以外.这样的好处在于可以动态的更新用到的图片.
/**-----------------------------------------------------------------------------
* Project : CustomComponents
* Package : com.westsoft.toolkit
* FileName: LoadImage.java
*
* Created: 2009-4-1 by 語笑 嫣然
*
* Copyright: Copyright WestSoft 2009-2010
*------------------------------------------------------------------------------
* Description:
*
*
*------------------------------------------------------------------------------*/
package com.westsoft.toolkit;
import java.awt.Graphics2D;