Image使用代價(jià)昂貴,JFace包提供了一個(gè)輕量級(jí)的ImageDescriptor類(lèi).
An image descriptor is an object that knows how to create an SWT image.It does not hold onto images or cache them, but rather just creates them on demand.
ImageDescriptor類(lèi)是抽象類(lèi),不能用new,有2種常用static方法,createFromFile,createFromURL.
1:ImageDescriptor temp = ImageDescriptor.createFromFile(abc.class,"icons/temp.gif")
//在類(lèi)abc目錄下的icon目錄下的圖片temp.gif
//沒(méi)有真正加載這個(gè)圖像
2://絕對(duì)目錄
URL url = new URL("file:\\c:\\icons\\temp.gif");
ImageDescriptor temp = ImageDescriptor.createFromURL(url)
//項(xiàng)目主目錄
URL url = new URL("file:icons/temp.gif");
ImageDescriptor temp = ImageDescriptor.createFromURL(url)
3: Eclipse自帶圖像調(diào)用
ImageDescriptor temp = WorkbenchImages.getImageDescriptor(IWorkbenchGraphicConstants.IMG_ETOOL_HOME_NAV);
4: 得到image
Image image = temp.creatImage();
圖像注冊(cè)表ImageRegistry類(lèi):高速緩存圖像和圖像描述符
ImageRegistry image_registry = new ImageRegistry();
URL url = new URL("file:icons/folder.gif");
ImageDescriptor imaged = ImageDescriptor.createFromURL(url);
image_registry.put("folder",imaged);
//取出image
Image image = image_registry.get("folder");
//取出描述符
ImageDescriptor imageDescriptor = image_registry.getDescriptor("folder");
//刪除圖像
image_registry.remove("folder");
**項(xiàng)目開(kāi)發(fā)初期,建立一個(gè)圖像注冊(cè)表
**網(wǎng)上教程