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