SWT_Tree的使用.

创建一个简单的Tree:

Tree tree = new Tree(this, SWT.BORDER|SWT.MULTI|SWT.CHECK);
TreeItem item = new TreeItem(tree, SWT.NONE);
item.setText("测试");
item.setImage(Activator.getImage("icons/database/unit.ico"));
item.setData(obj);	//obj是任意对象.

让树对象可以编辑节点.

tree.addSelectionListener(new SelectionListener() {
	@Override
	public void widgetSelected(SelectionEvent e) {
		
	}

	@Override
	public void widgetDefaultSelected(SelectionEvent e) {
		Control oldEditor = editor.getEditor();
		if(oldEditor != null) {
			oldEditor.dispose();
		}
		TreeItem item = (TreeItem)e.item;
		if(item == null) {
			return;
		}
		Text newEditor = new Text(tree, SWT.BORDER);
		newEditor.setText(item.getText());
		newEditor.addModifyListener(new ModifyListener() {
			@Override
			public void modifyText(ModifyEvent e) {
				Text text = (Text)editor.getEditor();
				editor.getItem().setText(text.getText());
			}
		});
		newEditor.selectAll();
		newEditor.setFocus();
		editor.setEditor(newEditor, item);
	}
});


你可能感兴趣的:(tree,编辑节点)