Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaFX:tableView.getSelectionModel().select(0)无法工作的任何可能原因?_Java_Javafx 2_Javafx_Tableview_Selectionmodel - Fatal编程技术网

JavaFX:tableView.getSelectionModel().select(0)无法工作的任何可能原因?

JavaFX:tableView.getSelectionModel().select(0)无法工作的任何可能原因?,java,javafx-2,javafx,tableview,selectionmodel,Java,Javafx 2,Javafx,Tableview,Selectionmodel,能否列出调用tableView.getSelectionModel.select0的可能原因;在名为TableView的javafx.scene.control.TableView上无法工作 对于这种情况,假设我使用cellSelectionEnabledfalse和SelectionMode.SINGLE,tableView.getItems返回一个非空的FXCollections.ObservalArrayList 更确切地说,我正在寻找可能的答案,为什么会有调用tableView.getS

能否列出调用tableView.getSelectionModel.select0的可能原因;在名为TableView的javafx.scene.control.TableView上无法工作

对于这种情况,假设我使用cellSelectionEnabledfalse和SelectionMode.SINGLE,tableView.getItems返回一个非空的FXCollections.ObservalArrayList

更确切地说,我正在寻找可能的答案,为什么会有调用tableView.getSelectionModel.select0;从selectTableViewRow0这样的方法中执行操作将不起作用:

private void selectTableViewRow0(){
    tableView.getSelectionModel().select(0);
}
有什么建议吗,伙计们

编辑: 如下面的注释所述,调用tableView.getSelectionModel.isSelected0;返回true。我猜我可以使用反射来调用TableView中突出显示所选行的代码。问题是我似乎无法找出应该调用TableView代码的哪一部分。我认为调用select0将导致在内部调用以下两条线路。但在这之后,似乎没有代码告诉TableView高亮显示所选行

updateSelectedIndex(row);
focus(row, column);
你试过了吗

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

感谢jewelsea和jhsheets的贡献。我发现这个问题的一个原因是,当一个类似的场景开始运行时,旧场景没有被垃圾收集,旧场景中的旧表视图项将被选中。幸运的是,我发现了一个相关的bug,如果有人感兴趣,我可以讨论它。

似乎与类似,但可能不同。更新您的问题,以包括完整的环境详细信息和一个。您好,我已经包括了环境详细信息。但是,我似乎无法使用ssce复制错误。这可能是一个很大的问题,但您/某人是否可以提供一个使用反射选择项目的解决方案?谢谢。我没有这样的解决办法。好的,谢谢你。一旦我的问题得到解决,我将尝试更新此帖子。我将尝试。我将在尝试后进行评论。如果您在尝试后立即调用:tableView.getSelectionModel.isSelected0会发生什么情况?结果是真的吗?可能它没有触发,因为它认为行已经被选中,并且没有触发更改事件。tableView.getSelectionModel.Clear和Select0有效吗?将重试。我将在尝试后进行注释。结果表明,tableView.getSelectionModel.isSelected0在tableView.getSelectionModel.select0之后返回true;和tableView.getSelectionModel.clearAndSelect0;。但是,选定的行不会高亮显示。我猜这与TableView的外观有关?看起来setSelectedIndex是一种受保护的方法。对不起,没有主意了。可能会提交错误报告,或者尝试使用不同的Java7版本。