Java 在插件视图中将非同构节点添加到树中

Java 在插件视图中将非同构节点添加到树中,java,eclipse-plugin,treeview,eclipse-rcp,eclipse-emf,Java,Eclipse Plugin,Treeview,Eclipse Rcp,Eclipse Emf,我正在开发一个插件,有一个视图有一个treeviewer。 我想以图表的方式将节点添加到该树中,因为这些节点不是输入对象(treeviewer.setInput(input object))的子节点 例如: 我有x和y对象,它们是不相关的 x有子对象x1和子对象x2 如果我将树查看器的输入设置为x,那么我将在树中得到x1和x2,因为它们是它的子对象 现在,当对象y与x没有关系时,如何将其作为树节点添加到此树 谢谢您可以在TreeViewer中拥有多个根对象 使用ArrayContentProv

我正在开发一个插件,有一个视图有一个treeviewer。 我想以图表的方式将节点添加到该树中,因为这些节点不是输入对象(treeviewer.setInput(input object))的子节点

例如:

我有x和y对象,它们是不相关的 x有子对象x1和子对象x2

如果我将树查看器的输入设置为x,那么我将在树中得到x1和x2,因为它们是它的子对象

现在,当对象y与x没有关系时,如何将其作为树节点添加到此树


谢谢

您可以在
TreeViewer
中拥有多个根对象

  • 使用
    ArrayContentProvider
    作为树的内容提供程序
  • 将树的根对象作为数组或
    List

谢谢Tony,我还有一个问题,我的程序使用EMF AdapterFactoryContentProvider作为树查看器内容提供程序,但我使用的是单根。现在,当我想添加多个根时,我知道我应该使用ArrayContentProvider,EMF中是否有类似的内容,或者我应该将以前的所有代码改编为jface ArrayContentProvider呃?不确定。我已经看了一下实现,但不清楚它是否会工作。我从eclipse论坛也知道,它可以使用viewer.setinput(newitemprovider(Collection))来完成,它对我来说很有效。