imagecache.java

来自「eclipse开发笔记」· Java 代码 · 共 37 行

JAVA
37
字号
package com.plugindev.addressbook.util;

import java.util.HashMap;
import java.util.Iterator;

import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.swt.graphics.Image;

public class ImageCache {
	private final static HashMap<ImageDescriptor, Image> imageMap = 
		new HashMap<ImageDescriptor, Image>();
	private static ImageCache instance;
	public static ImageCache getInstance(){
		if(instance == null)
			instance = new ImageCache();
		return instance;
	}
	public Image getImage(ImageDescriptor descriptor)
	{
		if(descriptor == null)
			return null;
		Image image = (Image)imageMap.get(descriptor);
		if(image == null)
		{
			image = descriptor.createImage();
			imageMap.put(descriptor, image);
		}
		return image;
	}
	public void dispose(){
		Iterator iter = imageMap.values().iterator();
		while(iter.hasNext())
			((Image)iter.next()).dispose();
		imageMap.clear();
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?