JFace TreeView 删除项目

JFace TreeView remove item

我的向导应用程序中有一个 treeView。每当我从我的模型中添加或删除对象时,调用更新或刷新方法都会按预期工作。我想要的是,当我按下某个复选按钮时,可能会发生两件事:如果新选择是假的(未选中),我想删除 treeView 项目,所以它们不会显示在我的 UI 中,并且当新选择是 true(checked) ,我想添加以前删除的项目(我将它们存储在我的应用程序中),以便它们可以再次显示。所以我将这个监听器添加到我的按钮中:

    oIsAuthorizableResourceButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            bIsResourceAuthorizable[intSelectedResourceIndex] = oIsAuthorizableResourceButton.getSelection();
            //recursiveSetEnabled(grpPolicySetConfiguration,oIsAuthorizableResourceButton.getSelection());
            if(!bIsResourceAuthorizable[intSelectedResourceIndex]){
                System.out.println("Remove : " + oSelectedPolicySet.getHasResourceAccessPolicy().size());
                oTreeViewer.remove(oSelectedPolicySet.getHasResourceAccessPolicy().toArray());
                oTreeViewer.refresh(oSelectedPolicySet);
                oTreeViewer.refresh();
            }else{
                System.out.println("Add : " + oSelectedPolicySet.getHasResourceAccessPolicy().size());
                oTreeViewer.add(oSelectedPolicySet, oSelectedPolicySet.getHasResourceAccessPolicy().toArray());
                oTreeViewer.refresh(oSelectedPolicySet);
                oTreeViewer.refresh();
            }
        }

好吧,这段代码绝对有帮助 nothing.Any 感谢。

实施查看器过滤器,然后在查看器中添加和删除它:http://www.eclipse.org/articles/Article-TreeViewer/TreeViewerArticle.htm。它过滤什么,甚至是否关心特定的 属性,都是您的选择。