Java SWT 树 全部展开/全部折叠

And*_*iRS 0 java tree swt

我如何为我自己的 SWT 树创建一个 Expand All 和一个 Collapse All 功能,类似于 Eclipse 的 Package Explorer 中的 Collapse All 按钮?

gre*_*449 6

如果您只是使用 SWT Tree,则必须遍历树中的所有项目并展开/折叠每个项目。例如:

boolean expanded = true to expand, false to collapse

Tree tree = ... your tree

tree.setRedraw(false);  // Stop redraw until operation complete

TreeItem [] items = tree.getItems();

for (TreeItem item : items) {
   item.setExpanded(expanded);
}

tree.setRedraw(true);
Run Code Online (Sandbox Code Playgroud)

如果您使用 JFaceTreeViewer调用查看器collapseAllexpandAll方法。