如何显示我的 TreeItem 层次结构 [JavaFX]
How to show my TreeItem hierarchy [JavaFX]
我有一个关于如何显示我的 treeView 层次结构的问题...举个例子,我有这样的东西....
root
父母 1
parent1.1
child1
child2
父母2
- parente2.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();
}
当您收到双击 TreeCell
的鼠标事件(无论您用 "showing" 表示什么)时,使用它来显示项目。
我有一个关于如何显示我的 treeView 层次结构的问题...举个例子,我有这样的东西....
root
父母 1
parent1.1
child1
child2
父母2
- parente2.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();
}
当您收到双击 TreeCell
的鼠标事件(无论您用 "showing" 表示什么)时,使用它来显示项目。