JavaFX: как передать значение из фонового потока в поток пользовательского интерфейса JavaFX с помощью Task

У меня есть одна рабочая задача, которая постоянно использует веб-сервис и возвращает целочисленное значение.

Мое приложение состоит из различных (30) текстовых полей с соответствующей переключателем. Когда я нажимаю переключатель, я хочу отобразить значение из фоновой задачи в текстовое поле рядом с переключателем.

Как я могу передать значение из фонового потока в поток пользовательского интерфейса JAVAFX в этой конкретной ситуации?

Я новичок в JavaFX и использовал следующий способ. Это правильный подход?

@FXML
private TabPane mainTabPane;

Создана задача в контроллере главного окна, а также запущена в контроллере главного окна

myScheduledService.setPeriod(Duration.seconds(10));
myScheduledService.start();

И создал задачу:

private class MyScheduledService extends ScheduledService {

    @Override
    protected Task createTask() {
        return  new Task() {
            @Override
            protected String call() throws IOException, ParseException {
        // calling web service here
        Integer data = callToMyWebService();
        Tab tab = mainTabPane.getTabs().get(mainTabPane.getTabs().size() - 1);
        BorderPane pane = (BorderPane) tab.getContent();
                    HBox hBox = ((HBox) pane.getChildren().get(0));
        Text operationValueDisplayText = (Text) hbox.getChildren().get(2);
        // displaying data in text box
        operationValueDisplayText.setText(String.valueOf(data));

        }

}; }

Ответы на вопрос(1)

Ваш ответ на вопрос