我正在编写代码以在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());
}
}
}
});
}
工作正常。但是,我的问题是,我树中的节点是可编辑的。因此,在编辑节点后,当我双击节点时,它仍然显示旧数据。 对此有什么解决方案吗?
谢谢!
答案 0 :(得分:0)
我已经解决了这个问题。
刚刚添加了这一行 -
System.out.println(tree.getSelection()[0].getText());
而不是
System.out.println(item.toString());
因为在重命名节点时,我将文本值设置为此节点。