FXML est un langage de markup qui permet de simplifier la déclaration d'interfaces JavaFx. > [!tip] SceneBuilder > SceneBuilder permet de concevoir visuellement des interface qui sont enregistrées au format FXML. ## Exemple La même composition que lors du cours précédent avec FXML. ![[fxml-example-centered.png|219]] ```java @Override public void start(Stage stage) throws IOException { // La création et l'agencement des composants // est déléguée dans un fichier FXML FXMLLoader fxmlLoader = new FXMLLoader(HelloApplication.class.getResource("hello-view.fxml")); Scene scene = new Scene(fxmlLoader.load(), 320, 240); stage.setTitle("Hello!"); stage.setScene(scene); stage.show(); } ``` ```xml <?xml version="1.0" encoding="UTF-8"?> <?import javafx.scene.control.Button?> <?import javafx.scene.layout.StackPane?> <?import javafx.scene.layout.VBox?> <?import javafx.scene.text.Text?> <StackPane> <VBox style="-fx-alignment: center"> <Text text="Hello World!"/> <Button text="Button"/> </VBox> </StackPane> ``` ## Controlleur Une classe qui peut s'interfacer avec nos vues FXML. ## À suivre [[Canvas]]