如何在SWT中编辑树节点

时间:2015-08-27 12:03:28

标签: java swt eclipse-rcp rcp

我正在创建一个显示树结构的RCP应用程序。我为此目的使用了以下代码。但是,我需要使节点可编辑。怎么做? 请找到我写的以下代码。

public class TreeView extends ViewPart {

    public static final String ID = "TreeProject.project";

    public TreeView() {
    }

    public static ProjectTree mc = new ProjectTree("root");
    public static TreeViewer treeViewer;

    @Override
    public void createPartControl(Composite parent) {

        Composite composite = new Composite(parent, SWT.NONE);
        treeViewer = new TreeViewer(composite);
        Tree tree = treeViewer.getTree();
        tree.setLocation(0, 0);
        tree.setSize(181, 469);

        StyledText styledText = new StyledText(composite, SWT.BORDER);
        styledText.setText("Welcome\"!");
        styledText.setBounds(179, 0, 415, 469);
        treeViewer.setContentProvider(new ProjectContentProvider());
        treeViewer.setInput(getRootNode());
        treeViewer.expandAll();

        System.out.println(tree.getSelection());
    }

    private ProjectTree getRootNode() {
        ProjectTree node0 = new ProjectTree("Node0");
        ProjectTree node1 = new ProjectTree("Node1");
        mc.addChild(node0, "");
        node0.addChild(node1, "");
        return mc;
    }

    @Override
    public void setFocus() {
    }
    }

1 个答案:

答案 0 :(得分:0)

您需要在treeViewer上使用选择侦听器,这将为您选择节点。然后,您必须从模型中删除节点对象及其子节点(如果有)。在这里,我看到您的模型是对象mc。然后拨打treeViewer.refresh()。同样适用于添加。