I. Introduction








télécharger 275.91 Kb.
titreI. Introduction
page2/15
date de publication02.02.2018
taille275.91 Kb.
typeDocumentos
ar.21-bal.com > loi > Documentos
1   2   3   4   5   6   7   8   9   ...   15

B.Imports


À la suite de l’entête, on trouvera une série d’imports de packages similaires à ceux qu’on peut trouver dans le code d’une classe Java :

Titre

xml Oui Line de début Dissimulable Lien fichier











Il est possible d’importer n’importe quel package Java qui se trouve sur le CLASSPATH à l’exécution, y compris les vôtres ou ceux de bibliothèques externes.

C.Racine


Chaque fichier FXML dispose d’une balise racine qui peut être n’importe quel nœud graphique de l’API SceneGraph ou même des nœuds customisés ou provenant de bibliothèques externes. Comme le FXML est avant tout destiné à décrire des bouts d’interface graphique, il vaut cependant mieux que la balise racine soit un nœud du SceneGraph, cependant, en théorie, vous pouvez aussi charger des classes non-graphiques.

La racine est la seule balise dans laquelle on peut et on doit déclarer l’attribut xmlns:fx.

Titre

xml Oui Line de début Dissimulable Lien fichier





La balise porte le nom de la classe à utiliser telle qu’écrit dans l’API et avec la même case. En général, dans la plupart des cas, mieux vaut se contenter d’utiliser un AnchorPane comme balise racine du FXML, cela vous permet de positionner vos sous-nœuds comme bon vous semble.

Outre la déclaration de son id, la définition de xmlns:fx et la description des propriétés du nœud (ici prefWidth et prefHeight), si le FXML dispose également d’un contrôleur, la balise racine peut contenir également une définition de l’attribut fx:controller qui définit le nom long (package + nom de classe) de la classe du contrôleur. Nous y reviendrons plus en détails dans un chapitre ultérieur.

Titre

xml Oui Line de début Dissimulable Lien fichier




D.Charger le FXML


Pour charger le fichier FXML ainsi créé, il suffit de résoudre l’URL du fichier via le mécanisme du chargement de ressources habituel en Java (voir ClassLoader) et de créer une nouvelle instance de javafx.fxml.FXMLLoader sur laquelle on va appeler la méthode load(). Cette méthode retournera une instance correspondant au nœud racine décrit dans notre fichier. Si l’url n’est pas correcte, la méthode load() lèvera une IllegalStateException.

Titre

java Oui Line de début Dissimulable Lien fichier

public class Main extends Application {

@Override

public void start(Stage primaryStage) {

try {

// Localisation du fichier FXML.

URL url = getClass().getResource("test.fxml");

// Creation du loader.

FXMLLoader fxmlLoader = new FXMLLoader(url);

// Chargement du FXML.

AnchorPane root = (AnchorPane) fxmlLoader.load();

// Création de la scène.

Scene scene = new Scene(root, 300, 250);

primaryStage.setScene(scene);

} catch (IOException ex) {

System.err.println("Erreur au chargement: " + ex);

}

primaryStage.setTitle("Test FXML");

primaryStage.show();

}

public static void main(String[] args) {

launch(args);

}

}

Ce qui au final donne l’affichage suivant qui n’est pas très excitant en soit mais c’est normal, notre fichier FXML ne contient rien en dehors du nœud racine :



Comme je vous le disais tantôt, on peut, en théorie, charger une racine qui ne soit pas un nœud graphique d’où le fait que la méthode load() retourne une instance de Object plutôt que de Node.
1   2   3   4   5   6   7   8   9   ...   15

similaire:

I. Introduction iconIntroduction générale Introduction aux ordinateurs

I. Introduction iconTD/tp 1 Introduction au sdk d’Android 1 Introduction
«*. univ-lr fr» pour éviter d’utiliser le proxy pour les adresses internes à l’ulr

I. Introduction icon1. Clique d’abord sur «Visite virtuelle Haussman» et regarde l’introduction...
«Visite virtuelle Haussman» et regarde l’introduction à la belle architecture du bâtiment

I. Introduction iconI introduction

I. Introduction iconI introduction

I. Introduction iconI. Introduction

I. Introduction iconI introduction

I. Introduction iconA. Introduction

I. Introduction iconI introduction

I. Introduction iconI. introduction








Tous droits réservés. Copyright © 2016
contacts
ar.21-bal.com