Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/374.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
如何显示我的TreeItem层次结构[JavaFX]_Java_Javafx_Hierarchy - Fatal编程技术网

如何显示我的TreeItem层次结构[JavaFX]

如何显示我的TreeItem层次结构[JavaFX],java,javafx,hierarchy,Java,Javafx,Hierarchy,我有一个关于如何显示我的treeView层次结构的问题。。。举个例子,我有这样的东西 根 父母1 家长1.1 孩子1 孩子2 父母2 父母2.1 如果我双击child2,我想显示这样的内容 root>parent1>parent1.1>child2获取TreeItem的层次结构并不困难。只需通过重复转到父节点来遍历树: static String createString(TreeItem<String> item) { List<TreeItem&

我有一个关于如何显示我的treeView层次结构的问题。。。举个例子,我有这样的东西

    • 父母1

      • 家长1.1

        • 孩子1

        • 孩子2

    • 父母2

      • 父母2.1
如果我双击child2,我想显示这样的内容


root>parent1>parent1.1>child2

获取
TreeItem的层次结构并不困难。只需通过重复转到父节点来遍历树:

static String createString(TreeItem<String> item) {
    List<TreeItem<String>> hierarchy = new ArrayList<>();
    while (item != null) {
        hierarchy.add(item);
        item = item.getParent();
    }

    // list iterator positioned at the end of the list
    ListIterator<TreeItem<String>> iterator = hierarchy.listIterator(hierarchy.size());

    StringJoiner sj = new StringJoiner(" > ");

    // join Strings in reverse order
    while (iterator.hasPrevious()) {
        sj.add(iterator.previous().getValue());
    }
    return sj.toString();
}
静态字符串createString(TreeItem项){
列表层次结构=新建ArrayList();
while(项!=null){
层次结构。添加(项);
item=item.getParent();
}
//位于列表末尾的列表迭代器
ListIterator迭代器=hierarchy.ListIterator(hierarchy.size());
细木工sj=新细木工(“>”);
//按相反顺序连接字符串
while(迭代器.hasPrevious()){
add(iterator.previous().getValue());
}
返回sj.toString();
}

当您收到双击
TreeCell的鼠标事件时,使用此选项显示项目(无论您所说的“显示”是什么意思)。

请为您的最佳尝试发布代码。谢谢。你问的不太清楚;是否希望双击时整个树折叠为一行?而且,是的,你应该发布一些代码来展示你的尝试。谢谢fabian!!那正是我想要的!!