显示默认选择的JavaFX树视图

时间:2014-04-29 07:46:27

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

我正在使用JavaFX8。

我有一个树视图,它包含一些对象。

显示树视图,展开所有节点。

我想在UI启动时选择树视图上的默认项目。

我尝试了以下但是它不起作用。

rootNode.setExpanded(true);
popupTree.setShowRoot(false);
popupTree.setRoot(rootNode);
popupTree.getSelectionModel().setSelectionMode(SelectionMode.SINGLE);

popupTree.requestFocus();
popupTree.getSelectionModel().select(new TreeItem<FinancialAccount>(selectedAccount));
popupTree.getFocusModel().focus(popupTree.getSelectionModel().getSelectedIndex());

如果我用这样的静态整数值替换代码

popupTree.requestFocus();
popupTree.getSelectionModel().select(5);
popupTree.getFocusModel().focus(5);

这将选择树上的第5个项目,并在UI上突出显示。

要确定树中对象的索引,我使用的是第一个代码段中的方法,它们总是返回-1

显然,SelectionModel类中的select(object)方法未正确评估传递的对象。我尝试在我的FinancialAccount对象中覆盖equals方法,但它没有什么区别。

关于如何使这项工作的任何想法

0 个答案:

没有答案