昨日の続き
TreeViewer最後です!
結局アイコン画像は見つからなかったのでサンプルだけをw
package jface.list.sample; import org.eclipse.jface.viewers.LabelProvider; import org.eclipse.swt.graphics.Image; import org.eclipse.swt.widgets.Display; import org.w3c.dom.Node; public class LabelProviderSample extends LabelProvider { Image imageParent; Image imageChild; Image imageGrandChild; public String getText(Object element) { return ((Node) element).getNodeName(); } public LabelProviderSample() { Display display = Display.getCurrent(); imageParent = new Image(display, "image1.gif"); imageChild = new Image(display, "image2.gif"); imageGrandChild = new Image(display, "image3.gif"); } public void dispose() { if (imageParent.isDisposed()) { imageParent.dispose(); } if (imageChild.isDisposed()) { imageChild.dispose(); } if (imageGrandChild.isDisposed()) { imageGrandChild.dispose(); } } public Image getImage(Object element) { String nodeName = ((Node) element).getNodeName(); if (nodeName.equals("parent")) { return imageParent; } if (nodeName.equals("child")) { return imageChild; } if (nodeName.equals("grandchild")) { return imageGrandChild; } return null; } }
コンストラクタでImageを登録します。
そして、
Image#getImage(Object)でノードに対してのイメージを返してあげます。
これだけです。
意外と簡単♪
(単純に端折りすぎなだけ?@@)
まぁ今日は雨にぬれて寒いので勘弁してやってくださいm(__)m