JavaFX: Übergeben von Werten vom Hintergrund-Thread an den JavaFX-UI-Thread mit Task

Ich habe eine Worker-Task, die kontinuierlich den Webdienst verbraucht und einen ganzzahligen Wert zurückgibt.

Meine Anwendung besteht aus verschiedenen (30) Textfeldern mit zugehörigem Optionsfeld. Wenn ich auf das Optionsfeld klicke, möchte ich den Wert der Hintergrundaufgabe im Textfeld neben dem Optionsfeld anzeigen.

Wie kann ich in dieser speziellen Situation einen Wert vom Hintergrund-Thread an den JAVAFX-UI-Thread übergeben?

Ich bin neu in JavaFX und werde auf folgende Weise verwendet. Ist das der richtige Ansatz?

@FXML
private TabPane mainTabPane;

Aufgabe im Hauptfenster-Controller erstellt und auch im Hauptfenster-Controller ausgeführt

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

Und erstellte Aufgabe:

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));

        }

}; }

Antworten auf die Frage(2)

Ihre Antwort auf die Frage