如何通过双击从SWT中的树节点读取数据?

时间:2015-09-22 08:50:31

标签: java tree treeview swt rcp

我正在编写代码以在SWT RCP中创建树。在这棵树中,我想实现一个功能 - 当我在节点上加倍时,应该显示节点的名称。为此目的写的是 -

private void addDoubleClickListener() {
    // TODO Auto-generated method stub
    treeViewer.addDoubleClickListener(new IDoubleClickListener() {

        @Override
        public void doubleClick(DoubleClickEvent e) {
            ISelection selection = e.getSelection();
            if (selection instanceof IStructuredSelection) {
                Object item = ((IStructuredSelection) selection)
                        .getFirstElement();
                if (item == null) {
                    return;
                } else {
                    System.out.println(item.toString());
                }
            }
        }
    });

}

工作正常。但是,我的问题是,我树中的节点是可编辑的。因此,在编辑节点后,当我双击节点时,它仍然显示旧数据。 对此有什么解决方案吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

我已经解决了这个问题。

刚刚添加了这一行 -

System.out.println(tree.getSelection()[0].getText());

而不是

 System.out.println(item.toString());

因为在重命名节点时,我将文本值设置为此节点。