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

时间:2014-06-02 08:43:01

标签: java javafx treeview javafx-2 javafx-8

我正在使用treeView.getSelectionModel().getSelectedIndex();保存当前select treeItem的索引。我的目标是能够在重建treeView后重新选择该treeView项。但是,API中似乎没有任何方法可以让我获得并最终选择不在扩展节点下的treeView项。

我已经尝试了treeView.getSelectionModel().select(index);,但这似乎只有在扩展了treeItem的父级时才有效。 API未提及有关要选择的项目必须位于已展开的节点下的任何信息。我还尝试treeView.getTreeItem(index).getParent().setExpanded(true);来扩展项目的父节点,但是如果项目可见并且在展开的节点下,它似乎也可以工作。

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

1 个答案:

答案 0 :(得分:2)

试试先生,

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