JavaFX:tableView.getSelectionModel()。select(0)的任何可能原因都不起作用?

时间:2013-07-31 01:24:43

标签: java javafx-2 javafx tableview selectionmodel

您是否列出了为什么在名为tableView.getSelectionModel().select(0);的{​​{1}}上拨打javafx.scene.control.TableView无效的可能原因?

对于这种情况,假设我使用tableViewcellSelectionEnabled(false),而SelectionMode.SINGLE则返回非空tableView.getItems()

更确切地说,我正在寻找可能的答案为什么可能存在这样的情况:从FXCollections.observableArrayList这样的方法调用tableView.getSelectionModel().select(0);将不起作用:

selectTableViewRow0()

任何建议,伙计们?

修改
如下面的评论中所述,调用private void selectTableViewRow0(){ tableView.getSelectionModel().select(0); } 将返回true。我猜我可以使用反射来调用TableView中突出显示所选行的代码。问题是我似乎无法找出应该调用的TableView代码的哪一部分。我认为调用select(0)将导致在内部调用以下两行。但之后似乎没有代码告诉TableView突出显示所选行。

tableView.getSelectionModel().isSelected(0);

2 个答案:

答案 0 :(得分:3)

你试过吗

Platform.runLater(new Runnable() {
    public void run() {
        tableView.getSelectionModel().select(0);
    }
});

答案 1 :(得分:-1)

感谢jewelsea和jhsheets的贡献。我找到这个问题的一个原因是,当一个类似的场景开始播放,然后旧场景不是垃圾收集时,将选择旧的表视图项(来自旧场景)。幸运的是,我发现了一个相关的错误,如果有人有兴趣我可以讨论。