我正在使用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方法,但它没有什么区别。
关于如何使这项工作的任何想法