J'ai 6 fichiers fxml ayant un contrôleur. J'ai besoin d'initialiser la méthode pas sur le premier fxml mais sur le 5ème fichier fxml (PasswordArray.fxml) pour la personnalisation des boutons. Comme la méthode initialize() est appelée automatiquement lors du chargement du premier fichier fxml (Home.fxml), une erreur apparaît. Comment utiliser maintenant initialize method après PasswordArray.fxml. J'ai cherché sur internet mais je n'ai trouvé aucune solution à ma question. Dois-je utiliser des contrôleurs différents, car j'ai besoin de la méthode initialize pour plus d'un fichier fxml. Main FXML File (Home.fxml)Appel de la méthode initialize() en externe dans le contrôleur fxml plutôt que automatiquement
Controller (MajorProjectController.java) [méthode initialize()] [3]
* "J'ai 6 fichiers fxml avec un contrôleur" *. Premièrement: vous n'avez pas. Vous obtenez un nouveau contrôleur chaque fois que vous chargez un fichier FXML. Ce que vous voulez probablement dire est * "J'ai 6 fichiers fxml, et les contrôleurs pour tous sont de la même classe" *. Juste ** ne le faites pas **. Créez une classe de contrôleur différente pour chaque FXML. –
Merci #James_D pour votre suggestion. Mais j'ai une requête "Je n'ai pas besoin d'autres opérations personnalisées pour tous les fichiers fxml mais seulement certains des fichiers ont besoin de la méthode initialize pour faire des opérations supplémentaires sur l'interface graphique. les fichiers qui ont besoin de la méthode initialize pour effectuer une personnalisation? " –
Vous ne devriez utiliser ** ** jamais la même classe de contrôleur pour différents fichiers FXML. La seule exception possible à cela (à laquelle je peux penser) serait si vous aviez deux fichiers FXML qui avaient * exactement * le même ensemble de commandes, mais les disposiez différemment (par exemple si vous écriviez à la fois sur desktop et mobile et avait des dispositions différentes: mais il est peu probable que vous puissiez faire ce travail pour une variété de raisons de toute façon). –