Erreur de classe du contrôleur JavaFX
Problème :
De nombreux développeurs ont du mal à implémenter des contrôleurs JavaFX, en particulier lorsqu'ils recherchent pour modifier les valeurs TextArea des autres classes. Les tentatives de création de classes Controller étendant Initiallessly conduisent souvent à des défis.
Correction :
Évitez d'utiliser la classe Application comme contrôleur. Au lieu de cela, créez une classe Controller distincte qui étend l'une des classes Controller de JavaFX, telle que Initialisable.
De plus, séparez le bloc de code @FXML de la classe Main et placez-le dans la classe Controller. Cette séparation permettra des mises à jour plus faciles de la scène à partir d'autres classes.
Exemple :
Voici un exemple d'implémentation :
// 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")); // ... } // ... } }
Remarques supplémentaires :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!