Java JFace TreeViewer,在弹出某个空文件夹时如何通知树

Java JFace TreeViewer,在弹出某个空文件夹时如何通知树,java,eclipse-plugin,swt,eclipse-rcp,jface,Java,Eclipse Plugin,Swt,Eclipse Rcp,Jface,我使用树结构顾问构建了一个TreeViewer,如下所示: public class ExplorerTreeStructureAdvisor extends TreeStructureAdvisor { @Override public Object getParent(Object element) { return ((Node)element).getParent(); } @Override public Boolean ha

我使用树结构顾问构建了一个
TreeViewer
,如下所示:

public class ExplorerTreeStructureAdvisor extends TreeStructureAdvisor {

    @Override
    public Object getParent(Object element) {
        return ((Node)element).getParent();
    }

    @Override
    public Boolean hasChildren(Object element) {
        if(element instanceof Folder){
            Folder folder = (Folder)element;
            return !folder.getChildren().isEmpty();
        }
        return false;
    }

}
使用这样的
树structureAdvisor
,该树中的空文件夹将没有展开按钮。当某些用户操作发生时,一些子节点将被添加到该空文件夹中,通知树结构已更改的最佳方式是什么


我认为,
TreeViewer#refresh()
可能会起作用,但出于性能考虑,当我们知道只有一个节点发生了更改时,刷新整个树是不好的。

在这种情况下,您应该真正依靠您的数据模型来通知更改的数据。这意味着,当某些用户操作修改您的数据模型时,它应该负责将更改通知相关组件。然后,您可以向模型中添加“数据更改侦听器”,并通过
TreeViewer#refresh(object)

Thank@Waqas仅刷新更改的对象。我希望数据绑定能够处理所有的事情。我将等待几天,以找到一种方法来自动更新TreeViewer,正如“数据绑定”所暗示的那样。如果我找不到答案,我会认为你的答案是正确的D