Я пытаюсь сохранить свой выбор в 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();
}
Выбранная строка не сохраняется после обновления.Желаемое поведение - выделение строки синим цветом, как в соглашении.Однако графический интерфейс пользователя не сохраняется после этого обновления, которое, согласно временной шкале, происходит каждые 10 секунд.