Comment initialiser les variables membres d'une coutume javafx contrôleur?
Dans le cadre du Printemps, je peux utiliser les fichiers de configuration à charger des variables membres d'une classe. Est-il un moyen de le faire dans javafx avec un contrôleur ou un objet personnalisé?
L' @FXML annotation permet de JavaFX objets dont les noms vous avez défini (fx:id) avoir leurs références reflectively injecté dans vos champs dans l'objet contrôleur comme le graphe de scène est chargé à partir du fxml balisage.
Vous pouvez accomplir quelque chose de très similaire à ce que vous demandez en définissant les valeurs que vous souhaitez définir comme variables de classe dans votre contrôleur de classe de l'objet, puis défini les propriétés de l'objet par programme (plutôt que dans le balisage) dans la méthode initialize() de votre controller objet.
La méthode initialize() est appelée (si elle est présente) après le chargement du graphe de scène est complète (tous les objets GUI aura été instancié), mais avant que la commande a retourner à votre application en invoquant le code.
Modifier
Vous pouvez utiliser @FXML seulement dans le Contrôleur qui est spécifiquement définie dans le fichier fxml et uniquement pour les champs de cette classe.
Cela est nécessaire parce que ces champs devraient être initialisé automatiquement lors de la création de la catégorie de l'objet.
L' @FXML annotation permet de JavaFX objets dont les noms vous avez défini
(fx:id)
avoir leurs références reflectively injecté dans vos champs dans l'objet contrôleur comme le graphe de scène est chargé à partir du fxml balisage.Vous pouvez accomplir quelque chose de très similaire à ce que vous demandez en définissant les valeurs que vous souhaitez définir comme variables de classe dans votre contrôleur de classe de l'objet, puis défini les propriétés de l'objet par programme (plutôt que dans le balisage) dans la méthode initialize() de votre controller objet.
La méthode initialize() est appelée (si elle est présente) après le chargement du graphe de scène est complète (tous les objets GUI aura été instancié), mais avant que la commande a retourner à votre application en invoquant le code.
Modifier
Vous pouvez utiliser @FXML seulement dans le Contrôleur qui est spécifiquement définie dans le fichier fxml et uniquement pour les champs de cette classe.
Cela est nécessaire parce que ces champs devraient être initialisé automatiquement lors de la création de la catégorie de l'objet.
Tutoriel détaillé est ici
guigarage.com/2012/11/custom-ui-controls-with-javafx-part-1
Veuillez voir le jour réponse..
Merci pour la réponse, j'ai posté une autre question qui, je pense, seront mieux adaptées au problème, j'ai d'abord eu. stackoverflow.com/questions/20389567/...
Initializable
est obsolète.OriginalL'auteur Imran