0 java treeview jface treeviewer
基本上,我正在使用Java中的Treeviewer(org.eclipse.jface.viewers.TreeViewer)。现在我的问题是,我想向现有结添加一个子元素/项。
首先,我的树看起来像这样:
Knot A
Knot B
Knot C
 >child1
 >child2
这些child(child1,child2)arent是手动添加的,它们是在我接触到树本身之前生成的。
viewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL
| SWT.V_SCROLL);我填充了treeviewer: 
 viewer.setInput(....elements());
从上面生成状态。
viewer.getTree().getItem(0) 返回我的树的正确结A。
但是我不能在现有的结上添加新的孩子。我尝试了以下操作和其他操作:
TreeItem newItem = new TreeItem(items[0], SWT.NONE); and
    viewer.add(items[0], newItem); with a newly created item
    viewer.refresh();
从理论上讲,我可以操作arrayList,它首先会填充treeviewer,但是我认为那真的很糟糕。
我真的不知道我现在在做什么错。我想这是一个很愚蠢的问题。如果是这样,那么我很抱歉。^^
感谢您的帮助,对于您能提供的每一个提示,我深表感谢。
更新您的“模型”(您提供给的数据setInput)是更新树的正确方法。调用TreeViewer.refresh()或TreeViewer.refresh(element)获取树查看器以从模型中更新树。
使用时,TreeViewer您永远不会创建TreeItem对象-查看器会这样做。你传递给一切refresh,update,add...方法是从你的模型不TreeItems对象。
| 归档时间: | 
 | 
| 查看次数: | 1950 次 | 
| 最近记录: |