Beruflich Dokumente
Kultur Dokumente
JavaFX
7 - FXML
SceneBuilder
Jacques BAPST
jacques.bapst@hefr.ch
Jacques BAPST
Jacques BAPST
Jacques BAPST
SceneBuilder [1]
L'outil graphique SceneBuilder permet de concevoir l'interface de
manire interactive (WYSIWYG) en assemblant les conteneurs et les
composants et en dfinissant leurs proprits.
Le mode de fonctionnement de cet utilitaire est assez classique avec
une zone d'dition centrale, entoure d'un certain nombre d'outils :
palettes de conteneurs, de composants, de menus, de graphiques,
vue de la structure hirarchique de l'interface, inspecteurs de
proprits, de layout, etc.
L'utilisation de cet outil n'est pas dcrit en dtail dans ce support de
cours, il faut se rfrer la documentation disponible. Son utilisation
est cependant assez intuitive, pour autant que les lments affichs
soient connus (conteneurs, composants avec leurs proprits
principales notamment).
Malgr l'outil graphique, on n'chappe donc pas une comprhension
minimale des API (composants, conteneurs, proprits, ).
IHM-1 FX07
Jacques BAPST
SceneBuilder [2]
Aperu de l'cran principal :
IHM-1 FX07
Jacques BAPST
IHM-1 FX07
TOP
BOTTOM
Label
Button
Jacques BAPST
Jacques BAPST
javafx.geometry.*?>
javafx.scene.text.*?>
javafx.scene.control.*?>
java.lang.*?>
javafx.scene.layout.*?>
<BorderPane
. . .
. . .
Racine du graphe
de scne.
>
Conteneurs et composants
du graphe de scne.
</BorderPane>
IHM-1 FX07
Jacques BAPST
IHM-1 FX07
Jacques BAPST
10
Jacques BAPST
11
@FXML
private Label
title;
@FXML
private void handleButtonAction(ActionEvent event) {
title.setText("H e l l o
!");
title.setTextFill(Color.FUCHSIA);
}
}
IHM-1 FX07
Jacques BAPST
12
IHM-1 FX07
Variante dclarative
Jacques BAPST
13
Jacques BAPST
14
Jacques BAPST
15
@FXML
private Button btnHello;
@FXML
private Label
IHM-1 FX07
title;
// fx:id="title"
// Object injected by FXMLLoader
Jacques BAPST
16
Attention : Les attributs qui dfinissent les namespaces xmlns= ainsi que
xmlns:fx= sont utiliss par l'environnement JavaFX (FXMLLoader,
SceneBuilder, etc.).
Ils ne doivent donc pas tre modifis !
IHM-1 FX07
Jacques BAPST
17
. . .
IHM-1 FX07
Jacques BAPST
18
. . .
}
IHM-1 FX07
Jacques BAPST
19
Attribut fx:on
IHM-1 FX07
Jacques BAPST
20
Dans le fichier FXML, une feuille de style (fichier CSS) peut tre
associ un composant avec l'attribut stylesheets="@CSS_File"
<BorderPane stylesheets="@SayHello.css" . . . >
Jacques BAPST
21
Jacques BAPST
22
IHM-1 FX07
Jacques BAPST
23