JavaTreeViewer添加元素
基本上,我使用的是Java中的treeviewer(org.eclipse.jface.viewers.treeviewer)。 现在我的问题是,我想在现有的结中添加一个childelement/item 首先,我的树看起来像这样:JavaTreeViewer添加元素,java,treeview,jface,treeviewer,Java,Treeview,Jface,Treeviewer,基本上,我使用的是Java中的treeviewer(org.eclipse.jface.viewers.treeviewer)。 现在我的问题是,我想在现有的结中添加一个childelement/item 首先,我的树看起来像这样: Knot A Knot B Knot C >child1 >child2 这些子项(child1、child2)不是手动添加的,它们是在我接触到树本身之前生成的 我创建treeviewer: viewer=newtreeviewer(父级,SWT.
Knot A
Knot B
Knot C
>child1
>child2
这些子项(child1、child2)不是手动添加的,它们是在我接触到树本身之前生成的
viewer=newtreeviewer(父级,SWT.MULTI | SWT.H|u滚动
|SWT.V_卷轴)代码>
viewer.setInput(..元素())代码>
它从上面生成状态
viewer.getTree().getItem(0)
返回正确的树结TreeItem newItem=newtreeitem(items[0],SWT.NONE);和
viewer.add(items[0],newItem);使用新创建的项目
viewer.refresh()代码>
理论上,我可以操纵arrayList,它首先填充treeviewer,但我认为那真的很糟糕
我真的不知道我现在做错了什么。
我想这是一个相当愚蠢的问题。如果是这样的话,我很抱歉^^
感谢您的帮助,我非常感谢您提供的每一个提示。更新您的“模型”(您提供给setInput
的数据)是更新树的正确方法。调用TreeViewer.refresh()
或TreeViewer.refresh(元素)
,让树查看器从模型更新树
当您使用TreeViewer
时,您从不创建TreeItem
对象-查看器会这样做。传递给刷新
,更新
,添加
的所有内容。。。方法是模型中的对象,而不是树项。更新“模型”(您提供给setInput的数据)是更新树的正确方法。调用TreeViewer.refresh()
或TreeViewer.refresh(元素)
,让树查看器从模型更新树
当您使用TreeViewer
时,您从不创建TreeItem
对象-查看器会这样做。传递给刷新
,更新
,添加
的所有内容。。。方法是模型中的对象,而不是树中的对象。非常感谢,这对我帮助很大。^^非常感谢,这对我帮助很大^^