package hellorcp.tool;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import org.eclipse.swt.graphics.Image;
import org.eclipse.ui.plugin.AbstractUIPlugin;
public class CacheImage {
private final Map<String, Image> imageMap = new HashMap<String, Image>();
private static CacheImage INSTANCE = null;
private CacheImage(){
}
//單例
public static CacheImage getInstance() {
if(INSTANCE == null)
INSTANCE = new CacheImage();
return INSTANCE;
}
//獲得圖片
public Image getImage(String applicationId, String imageName) {
if(imageName == null)
return null;
Image image = imageMap.get(imageName);
if(image == null) {
image = AbstractUIPlugin.imageDescriptorFromPlugin(applicationId,
imageName).createImage();//應用程序的ID,圖片的路徑
imageMap.put(imageName, image);
}
return image;
}
//dispose資源
public void dispose() {
Iterator<Image> iterator = imageMap.values().iterator();
while(iterator.hasNext())
iterator.next().dispose();
imageMap.clear();
}
}
posted on 2008-12-05 23:54
Ke 阅读(888)
评论(0) 编辑 收藏 所属分类:
eclipse RCP