Accueil🇫🇷Chercher

FXML

FXML est un format de données textuelles, dérivé du format XML, qui permet de décrire une interface utilisateur pour des applications conçus avec JavaFX[1].

FXML
Caractéristiques
Extension
.fxml
Développé par
Version initiale
Octobre 2011
Type de format
Texte
Basé sur
Spécification

Il s'agit d'une alternative à la conception d'interfaces réalisés par l'écriture de lignes de codes, en découplant l'interface graphique du code source qui le contrôle.

Cette technologie a été intégrée dans JavaFX à partir de sa version 2.0, pour remplacer JavaFX Script[2].

Pour faciliter la manipulation de ce format de données, le logiciel Scene Builder a été développé par Oracle, permettant ainsi de décrire rapidement des interfaces[3].

Exemple

L'exemple ci-dessous décrit une liste verticale contenant deux boutons, avec un espacement de 10 pixels entre eux.

<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.layout.VBox?>
<VBox alignment="CENTER" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="300.0" prefWidth="300.0" spacing="10.0" xmlns="http://javafx.com/javafx/10.0.1" xmlns:fx="http://javafx.com/fxml/1">
   <children>
      <Button mnemonicParsing="false" text="Bouton" />
      <Button mnemonicParsing="false" text="Bouton" />
   </children>
</VBox>

Avantages et inconvénients[4]

Avantages

  • Le principal avantage Ă  cette manière de dĂ©crire une interface utilisateur est la sĂ©paration distincte entre la vue et le contrĂ´leur
  • N'Ă©tant pas un langage compilĂ© mais interprĂ©tĂ©, il suffit de recharger un fichier FXML pour mettre Ă  jour la vue
  • Il est possible d'avoir plusieurs versions d'une mĂŞme vue, utile notamment dans le cas de la phase de dĂ©veloppement d'un logiciel
  • Il y a une gestion native de la localisation, ce qui permet d'afficher le texte utilisĂ© par l'interface en fonction d'une langue

Inconvénients

  • La vitesse de chargement d'une l'application JavaFX sera un peu plus lente, en raison de la lecture de fichiers au format FXML et l’interprĂ©tation des donnĂ©es qu'ils contiennent
  • Il ne permet que de dĂ©crire que des interfaces "statiques", c'est-Ă -dire que le contenu n'est pas censĂ© changer dans le temps: autrement, il faut nĂ©cessairement passer par l'Ă©criture de code source.
  • Étant donnĂ© que la technologie utilise la rĂ©flexion pour gĂ©nĂ©rer l'interface, le dĂ©bogage du programme peut ĂŞtre dĂ©licat.

Annexes

Articles connexes

Liens externes

Références

  1. (en) « Introduction to FXML », sur openjfx.io, (consulté le )
  2. (en) « JavaFX 2.0 Release Notes », sur docs.oracle.com, (consulté le )
  3. (en) « JavaFX Scene Builder », sur oracle.com (consulté le )
  4. (en) « Mastering FXML: Why use FXML », sur docs.oracle.com, (consulté le )
Cet article est issu de wikipedia. Text licence: CC BY-SA 4.0, Des conditions supplémentaires peuvent s’appliquer aux fichiers multimédias.