イメージリソースは使用後にdisposeメソッドを使って破棄しないといけません。しかし、ImageRegistryを使うとイメージリソースの破棄を自動で行ってくれるため便利です。
今回作成したプラグインはこちらからダウンロードできます。→browser_0.0.8.zip
ソースも入っていますのでダウンロードして参考にしながら説明を読んでください。
1.イメージレジストリに画像を設定する
Eclipseでは、イメージを管理してくれるImageRegistryクラスが提供されています。
BrowserPluginクラスで以下のメソッドをオーバーライドします。
protected void initializeImageRegistry(ImageRegistry registry)
ここで渡されるImageRegistryクラスにイメージのURLを設定していきます。
IPath path = new Path("icons/" + fileName);
URL url = find(path);
if (url != null) {
ImageDescriptor desc = ImageDescriptor.createFromURL(url);
registry.put(key, desc);
}
2.イメージを取得する
イメージを取得する方法もプラグインからイメージレジストリを取得して、そのイメージレジストリからイメージを取得します。
BrowserPlugin plugin = BrowserPlugin.getDefault();
ImageRegistry registry = plugin.getImageRegistry();
ImageDescriptor desc = registry.getDescriptor(key);
3.おまけ
ブックマークビューで右クリックのコンテキストメニューからブックマークの追加、削除などができるようにしました。
今回作成したプラグインはこちらからダウンロードできます。→browser_0.0.8.zip