您可以使用以下代码示例来解决问题:
// 获取选中节点的列表 List selectedNodes = new ArrayList<>(); TreeItem[] items = treeViewer.getTree().getItems(); for (TreeItem item : items) { collectSelectedNodes(item, selectedNodes); } // 递归遍历树,收集选中节点 private void collectSelectedNodes(TreeItem item, List selectedNodes) { if (item.getChecked()) { selectedNodes.add(item.getData()); } TreeItem[] children = item.getItems(); for (TreeItem child : children) { collectSelectedNodes(child, selectedNodes); } }
这段代码通过遍历CheckboxTreeViewer的所有节点,检查每个节点是否被选中,并将选中的节点添加到一个列表中。您可以将此代码放在适当的位置,例如当用户点击一个按钮时执行。
CheckboxTreeViewer
注意,这段代码只能获取到当前可见的选中节点。如果您需要获取所有选中的节点(包括滚动条未显示的节点),则需要做更多的处理。
上一篇:不使用“标题”附加新标签
下一篇:不使用“except”,使用“try”+“finally”永远不会产生任何错误。