Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaTreeViewer添加元素_Java_Treeview_Jface_Treeviewer - Fatal编程技术网

JavaTreeViewer添加元素

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.

基本上,我使用的是Java中的treeviewer(org.eclipse.jface.viewers.treeviewer)。 现在我的问题是,我想在现有的结中添加一个childelement/item

首先,我的树看起来像这样:

Knot A
Knot B
Knot C
 >child1
 >child2
这些子项(child1、child2)不是手动添加的,它们是在我接触到树本身之前生成的

  • 我创建treeviewer:
    viewer=newtreeviewer(父级,SWT.MULTI | SWT.H|u滚动
    |SWT.V_卷轴)
  • 我填充treeviewer:
    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
    对象-查看器会这样做。传递给
    刷新
    更新
    添加
    的所有内容。。。方法是模型中的对象,而不是树中的对象。

    非常感谢,这对我帮助很大。^^非常感谢,这对我帮助很大^^