如何获取和选择JavaFX中索引不可见的treeItem?

如何获取和选择JavaFX中索引不可见的treeItem?,java,javafx,treeview,javafx-2,javafx-8,Java,Javafx,Treeview,Javafx 2,Javafx 8,我正在使用treeView.getSelectionModel().getSelectedIndex()保存当前选择树项的索引。我的目标是在树视图重建后能够重新选择树视图项目。然而,API中似乎没有任何方法允许我获取并最终选择不在扩展节点下的treeView项 我试过treeView.getSelectionModel().select(index)但这似乎只在树项的父项展开时起作用。API没有提到要选择的项必须位于展开的节点下。我还尝试了treeView.getTreeItem(index.g

我正在使用
treeView.getSelectionModel().getSelectedIndex()保存当前选择树项的索引。我的目标是在树视图重建后能够重新选择树视图项目。然而,API中似乎没有任何方法允许我获取并最终选择不在扩展节点下的treeView项

我试过
treeView.getSelectionModel().select(index)但这似乎只在树项的父项展开时起作用。API没有提到要选择的项必须位于展开的节点下。我还尝试了
treeView.getTreeItem(index.getParent().setExpanded(true)
展开项目的父节点,但这似乎仅在项目可见且位于展开节点下时才起作用

因此,我的问题是,如何存储当前选定的treeItem,并在重新构建treeView时重新选择它。

试试这个,先生

int i;
i = treeView.getSelectionModel().getSelectedIndex();
treeView.getTreeItem(i).setExpanded(true);
treeView.getSelectionModel().select(i);

由于它是一棵树,我想您应该能够存储路径(以某种方式标识到根的所有父节点),然后根据需要展开并重新选择所需的节点。