如何确定 TreeItem 是否为叶子

How to determine if a TreeItem is a leaf or not

我有一个 JFace TreeViewer,其中用户可以 select TreeItem 并通过菜单选项检查是否是叶节点。

如何实现?

您可以通过以下方式从树查看器中获取当前选择的 object:

IStructuredSelection selection = (IStructuredSelection)viewer.getSelection();

Object selected = selection.getFirstElement();

其中 'viewer' 是 TreeViewer

selected 是您的内容提供商返回的模型 object。

您可以使用您的内容提供商来测试它是否具有 children 和:

ITreeContentProvider provider = (ITreeContentProvider)viewer.getContentProvider();

boolean hasChildren = provider.hasChildren(selected);