Auteur : bouye Correcteur : Correcteur principal Rubrique : 4
Publication : 2013-12-12 Mise à jour : 2014-07-08 Serveur : developpez
Tutoriel sur une introduction au langage
FXML
Comment définir son UI hors de son code source en JavaFX.
Cet article a pour but de vous initier au FXML, le nouveau langage basé sur XML utilisé par JavaFX pour
permettre de découpler le design des interfaces graphiques du code qui les manipule et les contrôle.
Texte affiché avant le sommaire.
Multipage.
Texte de la licence de remplacement Référence de la licence de remplacement
3 : Confirmé Durée de lecture
Liens supplémentaires.
I. Introduction
Découpler la définition des interfaces utilisateur du code n’a rien d’un concept nouveau : inclure des
pages et des pages entières de code dans un projet pour définir ne serait-ce qu’un simple formulaire
avec un bouton de validation correctement positionné est probablement une étape par laquelle nous
sommes tous passés… sauf peut-être les habitués de Visual Studio puisque Microsoft pris ce virage très
tôt dans la conception de ses outils de développement. Ce n’est pas pour rien que les langages de
définition d’interface graphique par balisage (User Interface Markup Language) fleurissent sur la toile.
Coté Java, les choses ont longtemps été à la traine : même si NetBeans et Eclipse disposent désormais
d’éditeurs graphiques performant pour Swing et leur propres application frameworks, l’accouchement a
été plutôt difficile et il s’agit dans tous les cas d’une surcouche rajouté par-dessus l’API standard. En
essayant d’intégrer une prise en charge directe par la plateforme, Oracle a tout d’abord effectué un
premier essai avec FXD dans JavaFX 1.x. Le FXD permettait de décrire des UI dans un langage de
script simple qui était un sous-ensemble du langage JavaFX Script utilisé dans l’API de l’époque. Le
problème évident était qu’il s’agissait d’un nouveau langage à part entière, la plateforme est restée
peu populaire.
Avec le retour vers Java dans JavaFX 2.x, et l’ouverture des runtimes à tous les langages tournant sur
la JVM, Oracle a, au contraire, décidé de s’inspirer de ce qui se faisait déjà sur le marché : le MXML
largement utilisé par Flex et Flash d’Adobe ou encore le XAML de Microsoft destiné à Silverlight et WPF.
Voici donc venir le FXML, un nouveau dérivé du langage de balisage XML, directement pris en charge
par les runtimes JavaFX et accompagné de nouveaux outils.
II. Les Bases
Un fichier au format FXML est donc un document écrit en XML contenant le descriptif d’une
arborescence graphique dans l’API SceneGraph. Un FXML tout simple tel que créé par NetBeans ou
SceneBuilder ressemblera au code suivant :