如何在时间轴内维护TableView选择?

时间:2019-04-22 18:06:01

标签: java javafx

我试图在后台时间轴任务的TableView中保持选择。

设置断点时,数据正确,并且正在触发我的RowSelection回调。我使用时间轴是因为我认为它可以处理GUI刷新,而没有诸如Timers这样的异常。这是我的代码:

private void initializeAutoRefresh() {
    this.autoRefreshTimeline = new Timeline(new KeyFrame(Duration.seconds(10), (ActionEvent event) -> {
        if (entries != null) {
            entries.clear();
            tableOfGames.getItems().clear();
            populateGameTable(); // Done through Web Service
            System.out.println("Refreshed data.");

            if (selectedGame!= null) {
                tableOfGames.requestFocus();
                tableOfGames.getSelectionModel().select(entries.indexOf(selectedGame));
            }
        }
    }));
    this.autoRefreshTimeline.setCycleCount(Timeline.INDEFINITE);
    autoRefreshTimeline.play();
}

刷新后不保留所选行。期望的行为是像常规一样,将行选择为蓝色。但是,GUI不能在刷新后保持不变,根据时间轴,刷新是每10秒一次。

0 个答案:

没有答案