Я сохраняю индекс текущего select treeItem с помощью treeView.getSelectionModel().getSelectedIndex();
, Моя цель состоит в том, чтобы иметь возможность повторно выбирать этот элемент treeView после восстановления дереваView. Однако в API не существует какого-либо метода, который позволит мне получить и в конечном итоге выбрать элемент treeView, который не находится под расширенным узлом.
Я пробовал treeView.getSelectionModel().select(index);
но похоже, что они работают только при росте родителя treeItem. API ничего не говорит о том, что элемент, который должен быть выбран, должен находиться под узлом, который был расширен. Я также попробовал treeView.getTreeItem(index).getParent().setExpanded(true);
для расширения родительского узла элемента, но это также, похоже, работает только в том случае, если элемент видим и находится под расширенным узлом.
Поэтому мой вопрос: как сохранить текущий выбранный treeItem и повторно выбрать его, когда деревоView будет восстановлено.
Попробуйте это сэр,
int i;
i = treeView.getSelectionModel().getSelectedIndex();
treeView.getTreeItem(i).setExpanded(true);
treeView.getSelectionModel().select(i);