JavaFX Controller Klasse funktioniert nicht

Ich kämpfe wirklich darum, JavaFX-Controller zu verstehen. Mein Ziel ist es, in eine TextArea zu schreiben, um als Protokoll zu fungieren.

Mein Code ist unten, aber ich möchte in der Lage sein, die ETC-Werte einer anderen Klasse zu ändern, die ich bei Bedarf aufrufen kann. Ich habe versucht, eine Controller-Klasse zu erstellen, die Initializable erweitert, aber ich kann es nicht zum Laufen bringen. Könnte mich jemand in die richtige Richtung lenken?

Ich möchte den @FXML-Code unten in eine andere Klasse verschieben und die Szene aktualisieren.

package application;
import javafx.event.ActionEvent;
import javafx.scene.control.Label;
import javafx.scene.control.TextArea;

import java.io.IOException;
import javafx.application.Application;
import javafx.fxml.FXML;
import javafx.fxml.FXMLLoader;
import javafx.stage.Stage;
import javafx.scene.Parent;
import javafx.scene.Scene;


public class Main extends Application {
    @Override
    public void start(Stage primaryStage) {
        try {
            Parent root = FXMLLoader.load(getClass().getResource("Root.fxml"));
            Scene scene = new Scene(root,504,325);
            scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm());
            primaryStage.setScene(scene);
            primaryStage.show();
        } catch(Exception e) {
            e.printStackTrace();
        }
    }

    public static void main(String[] args) {
        launch(args);
    }

    public Thread thread = new Thread(new webimporter());

    @FXML
    public Label runningLabel;

    @FXML 
    public TextArea txtArea;

    @FXML
    void runClick(ActionEvent event) throws IOException{
        changeLabelValue("Importer running...");
        thread.start();

    }   

    @FXML
    protected void stopClick(ActionEvent event){
        changeLabelValue("Importer stopped...");
        thread.interrupt();
    }           

    @FXML
    void changeLabelValue(String newText){
        runningLabel.setText(newText);
    }

    void changeTextAreaValue(String newText1){
        txtArea.setText(newText1);
    }
}

Antworten auf die Frage(2)

Ihre Antwort auf die Frage