Я пытаюсь запустить фоновый поток приложения JavaFX периодически, что изменяет некоторые свойства GUI.
Я думаю, что я знаю, как использовать классы Task и Service из javafx.concurrent и не могу понять, как запустить такую периодическую задачу без использования метода Thread#sleep(). Было бы неплохо, если бы я мог использовать некоторые методы Executor from Executors (Executors.newSingleThreadScheduledExecutor())
Я пытался запускать Runnable каждые 5 секунд, который перезапускает javafx.concurrent.Service, но он сразу же висит, когда вызывается service.restart или даже service.getState().
Итак, я использую Executors.newSingleThreadScheduledExecutor(), который запускает мой Runnable каждые 5 секунд и что Runnable запускает другой Runnable, используя:
Platform.runLater(new Runnable() {
//here i can modify GUI properties
}
Это выглядит очень неприятно:( Есть ли лучший способ сделать это, используя классы Task или Service?