树查看器 Java

TreeViewer Java

我正在构建一个 RCP 应用程序。我正在为此使用自定义资源管理器。 我将 Treeviewer 与自定义内容和标签提供程序一起使用。

我现在的问题是,我无法将 children 显示为根 Object 的 children。

设置如下: 我得到了一个 Object,其中包含所有 children(在某个层次结构中)。 我可以从 Object 中得到 children,但我不能像 children 那样显示它们。我的内容提供者只将它们显示为根元素。

因此,我的问题是,如何将它们作为 children 挂起? getElement 方法仅 return 一个 Object 数组,我不明白如何确定该数组中的 Object 是 parents 还是 children .

希望你能帮帮我

对于 TreeViewer,您使用实现了 ITreeContentProvider 的内容提供程序。

ITreeContentProvidergetElements 方法应该只 return 树的顶级元素。

要确定树元素是否有任何 children,树查看器将调用内容提供程序 hasChildren 方法:

public boolean hasChildren(Object element)

此处 element 是树中的现有元素。

要获取元素的 children,树查看器将调用 getChildren 方法:

public Object[] getChildren(Object parentElement)

提供商 return 为元素 parentElement 提供任何 children。如果没有 children return 一个空数组,永远不会 return null.

有关详细信息,请参阅 here