我试图在后台时间轴任务的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秒一次。