私が抱えている問題は、折りたたむ/折りたたむすべてのTreeViewノード/親ではなく、折りたたみ/拡張する特定の子を含むTreeViewノードを取得することです。私は大きな失敗で再帰を試み、解決策が何であるかを理解できませんでした。ここでJavaFXのみ展開するTreeView特定の子を含む親
は、私のコードを見ている:
public void setTreeItem(Employee emp, TreeItem<Employee> root_tree) {
if (emp.equals(root_tree.getValue())) {
root_tree.setExpanded(false);
} else {
root_tree.setExpanded(true);
for (TreeItem<Employee> emps : root_tree.getChildren()) {
setTreeItem(emp, emps);
}
}
}
私はこのポイントを取得し、先に進むことはできません。参考のために、私はこれをチェックアウトtopicしかし、私は実際にその解決策からアイデアを得ることができませんでした。
者はデモのための写真です:
これは、特定の要素の
をチェックする前に、絵であり、これは、その特定の要素(メアリー・ジョンソンのチェック後に絵です)。
ご覧のとおり、ツリービュー全体を通過し、すべてのツリービューの親を拡張しますが、すべての後にMary Johnsonは存在しません。
あなたがしようとしていることを明確にすることはできますか?あなたの(あまり名前がつけられていない) 'setTreeItem'メソッドを呼び出した後、ツリーの状態はどうなりますか?ルートから指定した値を含むアイテムまでのパスのみを展開し、それ以外はすべて折りたたむ必要がありますか?または、他の何か? –