go to your Activator
public class Activator extends AbstractUIPluginand add/override the two following functions:
public static final String ToolbarIcon = "image.myimage";
public static Image getImage(String imageId) {now you can access the image ToolbarIcon from your view simply by calling:
AbstractUIPlugin plugin = Activator.getDefault();
ImageRegistry imageRegistry = plugin.getImageRegistry();
return imageRegistry.get(imageId);
}
@Override
protected void initializeImageRegistry(ImageRegistry registry) {
super.initializeImageRegistry(registry);
Bundle bundle = getBundle();
ImageDescriptor myImage = ImageDescriptor.createFromURL(FileLocator
.find(bundle, new Path("icons/toolbar_16.png"), null));
registry.put(ToolbarIcon, myImage);
}
Activator.getImage(Activator.ToolbarIcon)
EXAMPLE OF YOUR ACTIVATOR:
import org.eclipse.core.runtime.FileLocator;
import org.eclipse.core.runtime.Path;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.resource.ImageRegistry;
import org.eclipse.swt.graphics.Image;
import org.eclipse.ui.plugin.AbstractUIPlugin;
public class Activator extends AbstractUIPlugin {
public static final String Icon32 = "image.icon32";
private static Activator instance;
public static Activator getDefault() {
return instance;
}
public static Image getImage(String imageId) {
AbstractUIPlugin plugin = Activator.getDefault();
ImageRegistry imageRegistry = plugin.getImageRegistry();
return imageRegistry.get(imageId);
}
@Override
protected void initializeImageRegistry(ImageRegistry registry) {
super.initializeImageRegistry(registry);
load(registry, Icon32, "icons/icon.png");
}
private void load(ImageRegistry registry, String constant, String fileName) {
ImageDescriptor icon = ImageDescriptor.createFromURL(FileLocator
.find(getBundle(), new Path(fileName), null));
registry.put(constant, icon);
}
public Activator() {
instance = this;
}
}