treeviewer3.java

来自「SWTJFace篇项目源程序该项目包含 包含了Eclipse下构建swt的基本」· Java 代码 · 共 56 行

JAVA
56
字号
package cn.com.chengang.jface.treeviewer;

import java.util.List;

import org.eclipse.jface.action.MenuManager;
import org.eclipse.jface.viewers.TreeViewer;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Tree;
import org.eclipse.swt.widgets.TreeColumn;

public class TreeViewer3 {
	public static void main(String[] args) {
		new TreeViewer3().open();
	}

	public void open() {
		final Display display = new Display();
		final Shell shell = new Shell();
		shell.setSize(300, 300);
		// -----------界面核心代码-------------------
		shell.setLayout(new FillLayout());
		TreeViewer tv = new TreeViewer(shell, SWT.BORDER);

		Tree tree = tv.getTree();
		tree.setHeaderVisible(true);
		TreeColumn column = new TreeColumn(tree, SWT.LEFT);
		column.setText("名称");
		column.setWidth(150);
		column = new TreeColumn(tree, SWT.LEFT);
		column.setText("子结点数");
		column.setWidth(80);
		column = new TreeColumn(tree, SWT.LEFT);
		column.setText("性别");
		column.setWidth(40);

		tv.setContentProvider(new TreeViewerContentProvider());
		tv.setLabelProvider(new MyTableLableProvider());
		// 和TableViewer一样,数据的入口也是setInput方法
		List<CountryEntity> input = DataFactory.createTreeData();
		tv.setInput(input);
		// --------------插入代码:START------------------
		MyActionGroup actionGroup = new MyActionGroup(tv);// 生成一个ActionGroup对象
		actionGroup.fillContextMenu(new MenuManager());// 将按钮注入到菜单对象中
		// -----------END------------------
		shell.open();
		while (!shell.isDisposed()) {
			if (!display.readAndDispatch())
				display.sleep();
		}
		display.dispose();
	}
}

⌨️ 快捷键说明

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