⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 treeviewercontentprovider.java

📁 TTreeview 的 Java实例 Eclipes环境下
💻 JAVA
字号:
package demo.pluginA.treeview.internal;

import java.util.List;
import org.eclipse.jface.viewers.ITableLabelProvider;
import org.eclipse.jface.viewers.ITreeContentProvider;
import org.eclipse.jface.viewers.Viewer;
import org.eclipse.jface.viewers.ILabelProviderListener;

import demo.pluginA.treeview.data.*;

import org.eclipse.swt.graphics.Image;

/**
 * ContentProvider, it decide which objects should be displayed in the
 * TreeViewer
 */

public class TreeViewerContentProvider implements ITreeContentProvider,
		ITableLabelProvider {

	public Object[] getElements(Object inputElement) {
		if (inputElement instanceof List) {
			List list = (List) inputElement;
			return list.toArray();
		} else {
			return new Object[0];// return a new empty array
		}
	}

	// determine if certain node has the sub-nodes,
	public boolean hasChildren(Object element) {
		ITreeEntry entry = (ITreeEntry) element;
		List list = entry.getChildren();
		if (list == null || list.isEmpty()) {
			return false;
		} else {
			return true;
		}
	}

	// the method is used to decide which sub-nodes should the parent-node
	// display
	public Object[] getChildren(Object parentElement) {
		ITreeEntry entry = (ITreeEntry) parentElement;
		List list = entry.getChildren();

		if (list == null || list.isEmpty()) {
			return new Object[0];
		} else {
			return list.toArray();
		}
	}

	// the following methods are 'empty implemented'
	public Object getParent(Object element) {
		return null;
	}

	public void inputChanged(Viewer v, Object oldInput, Object newInput) {
	}

	// testing ...
	public String getColumnText(Object element, int columnIndex) {
		ITreeEntry entry = (ITreeEntry) element;
		switch (columnIndex) { // 根据列号,来决定显示记录的哪个字段值
		case 0:
			return entry.getName();
		case 1:
			if (entry instanceof ProcessEntity) {
				String disp = ((ProcessEntity) entry).getName();
				return disp;
			}
			return "";
		default:
			return "";
		}
	}

	public Image getColumnImage(Object element, int columnIndex) {
		return null;
	}

	public void addListener(ILabelProviderListener listener) {
	}

	public void removeListener(ILabelProviderListener listener) {
	}

	public void dispose() {
	}

	public boolean isLabelProperty(Object element, String property) {
		return false;
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -