Maison > Java > javaDidacticiel > Contrôleurs JavaFX FXML : constructeur ou méthode `initialize()` – Lequel pour l'initialisation ?

Contrôleurs JavaFX FXML : constructeur ou méthode `initialize()` – Lequel pour l'initialisation ?

Barbara Streisand
Libérer: 2024-12-02 04:20:10
original
512 Les gens l'ont consulté

JavaFX FXML Controllers: Constructor or `initialize()` Method – Which One for Initialization?

Contrôleur JavaFX FXML : constructeur ou méthode d'initialisation

Comprendre la séquence d'initialisation

Lors de l'utilisation de JavaFX avec FXML, il est important de comprendre la séquence d'initialisation des contrôleurs crucial. Après avoir créé une instance de la classe de contrôleur spécifiée dans le fichier FXML, les étapes suivantes se produisent :

  1. Invocation du constructeur : Le constructeur par défaut du contrôleur est invoqué.
  2. Remplissage des champs FXML : Tous les champs du contrôleur annotés avec @FXML sont remplis avec les composants correspondants définis dans le FXML file.
  3. Appel de la méthode initialize() : La méthode initialize() du contrôleur est exécutée.

Méthode Constructeur vs initialize() pour l'initialisation du contrôleur

Le constructeur et la méthode initialize() ont des objectifs distincts dans l'initialisation du contrôleur :

  • Constructeur : Le constructeur est appelé en premier et est responsable de toutes les tâches d'initialisation indépendantes des références des composants FXML.
  • initialize() Méthode : La méthode initialize() est appelée une fois les champs FXML renseignés. Il offre une opportunité appropriée pour effectuer tout post-traitement ou initialisation supplémentaire nécessitant l'accès à ces composants.

Importance de l'accès de la méthode initialize() aux champs FXML

La capacité du La méthode initialize() pour accéder aux références des composants FXML est cruciale. Bien que le constructeur n'ait pas accès à ces références, la méthode initialize() peut les utiliser pour accéder aux propriétés de contrôle, configurer des écouteurs d'événements ou effectuer d'autres opérations.

Exemple d'utilisation

Dans le exemple de code fourni, la sortie démontre ce comportement :

  • Le constructeur de MainViewController imprime "en premier".
  • Le La méthode initialize() affiche "seconde".

Cette séquence illustre que la méthode initialize() est appelée une fois que les champs FXML ont été remplis et constitue l'endroit approprié pour utiliser ces références pour l'initialisation du contrôleur.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal