2016-02-23 37 views
-4

我搜索了什麼ImageLoaderFactory.create(context)但我不明白。ImageLoader = ImageLoaderFactory.create(context);

ImageLoader = ImageLoaderFactory.create(context);

我知道ImageLoader是用於在網絡上下載的圖像。

+0

什麼是你的問題,請解釋一下到目前爲止你已經明白了和什麼是你不清楚 –

+0

我不明白我們爲什麼使用ImageLoaderFactory.create(context)這是什麼目的? –

回答

0

以下snipet是ImageLoader的加載從任何URL圖像您的項目文件夾內:

import java.net.URL; 
import org.eclipse.core.runtime.FileLocator; 
import org.eclipse.core.runtime.Path; 
import org.eclipse.jface.resource.ImageDescriptor; 
import org.eclipse.swt.graphics.Image; 
import org.osgi.framework.Bundle; 
import org.osgi.framework.FrameworkUtil; 

public class ImageLoaderImpl implements IImageLoader { 

@Override 
public Image loadImage(Class<?> clazz, String path) { 
    Bundle bundle = FrameworkUtil.getBundle(clazz); 
    URL url = FileLocator.find(bundle, new Path(path), null); 
    ImageDescriptor imageDescr = ImageDescriptor.createFromURL(url); 
    return imageDescr.createImage(); 
} 

} 

你可以實現一個ImageLoaderFactory檢索IImageLoader對象。 然後,例如,在你的代碼,你可以加載從項目文件夾中的圖像(您已經創建了項目內部有一個「圖標」文件夾:?

imageLoader.loadImage(this.getClass(), "icons/myicon.png");