JavaFX-Controller-Klassenfehler
Problem:
Viele Entwickler haben Schwierigkeiten, JavaFX-Controller zu implementieren, insbesondere bei der Suche um TextArea-Werte aus anderen Klassen zu ändern. Versuche, Controller-Klassen zu erstellen, die Initializable erweitern, führen oft zu Herausforderungen.
Fix:
Vermeiden Sie die Verwendung der Application-Klasse als Controller. Erstellen Sie stattdessen eine separate Controller-Klasse, die eine der Controller-Klassen von JavaFX erweitert, z. B. Initializable.
Trennen Sie außerdem den @FXML-Codeblock von der Main-Klasse und platzieren Sie ihn in der Controller-Klasse. Diese Trennung ermöglicht einfachere Aktualisierungen der Szene aus anderen Klassen.
Beispiel:
Hier ist eine Beispielimplementierung:
// Controller class (extends Initializable) public class ImportController implements Initializable { // ... @Override public void initialize(URL location, ResourceBundle resources) { // Initialize the controller } @FXML protected void changeTextAreaValue(String newText) { // Update the TextArea value } } // Main class (loads the FXML and controller) public class Main extends Application { // ... @Override public void start(Stage primaryStage) { try { FXMLLoader loader = new FXMLLoader(); loader.setController(new ImportController()); Parent root = loader.load(getClass().getResource("Root.fxml")); // ... } // ... } }
Zusätzliche Hinweise:
Das obige ist der detaillierte Inhalt vonWie ändere ich TextArea-Werte in JavaFX-Controllern aus anderen Klassen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!