Java FX Partie3
Java FX Partie3
Java FX Partie3
JavaFX
3 - Architecture
Concepts techniques
Jacques BAPST
jacques.bapst@hefr.ch
IHM-1 FX03
Jacques BAPST
Jacques BAPST
Stage
Scene
Jacques BAPST
IHM-1 FX03
Jacques BAPST
import
import
import
import
import
javafx.application.Application;
javafx.scene.Scene;
javafx.scene.control.Button;
javafx.scene.layout.BorderPane;
javafx.stage.Stage;
En principe, Eclipse
s'en charge
automatiquement
IHM-1 FX03
Jacques BAPST
IHM-1 FX03
Jacques BAPST
Jacques BAPST
Jacques BAPST
Proprits
IHM-1 FX03
Jacques BAPST
10
Jacques BAPST
11
Jacques BAPST
12
/
StringProperty
/
ListProperty<E> /
ObjectProperty<T> /
SimpleIntegerProperty
SimpleStringProperty
SimpleListProperty<E>
SimpleObjectProperty<T>
...
Jacques BAPST
13
Jacques BAPST
14
C o mp l me nt
Jacques BAPST
15
IHM-1 FX03
Jacques BAPST
16
Jacques BAPST
17
A
B.bindBidirectional(A)
B.bind(A)
ou
A.bindBidirectional(B)
Liaison unidirectionnelle
Liaison bidirectionnelle
IHM-1 FX03
Jacques BAPST
18
Slider
slider
= new Slider();
account.balanceProperty().bind(slider.valueProperty());
Jacques BAPST
19
Jacques BAPST
20
// Input
// Input
// Ouput
areaPty.bind(Bindings.multiply(widthPty, heightPty));
Width Slider
Height Slider
IHM-1 FX03
Area Slider
(produit des 2 valeurs)
Jacques BAPST
21
// Input
// Input
// Ouput
min(), max()
equal(), notEqual(), lessThan(), lessThanOrEqual(),
isNull(), isNotNull(), isEmpty(), isNotEmpty()
convert(), concat(), format(),
et beaucoup d'autres . . .
IHM-1 FX03
Jacques BAPST
22
IHM-1 FX03
Jacques BAPST
// Do the binding
23
Architecture JavaFX
Concepts techniques
IHM-1 FX03
Jacques BAPST
24
Jacques BAPST
25
Stage
Scene
Component
Control
Container
Layout
Component
Control
Component
Control
Container
Layout
...
Component
Control
Container
Layout
Component
Control
...
Component
Control
...
...
...
Graphe de scne
Jacques BAPST
26
IHM-1 FX03
Jacques BAPST
27
IHM-1 FX03
Jacques BAPST
28
Simplifi !
(il y a des classes intermdiaires)
IHM-1 FX03
Jacques BAPST
29
IHM-1 FX03
Jacques BAPST
30
Conteneurs
Les conteneurs (Layout-Pane) reprsentent une famille importante
parmi les sous-classes de Node. Ils ont pour classe parente Pane et
Region qui possdent de nombreuses proprits et mthodes
hrites par tous les conteneurs.
...
IHM-1 FX03
Jacques BAPST
31
Les composants
enfants sont ajouts
dans la zone Content
IHM-1 FX03
Jacques BAPST
32
Jacques BAPST
33
IHM-1 FX03
Jacques BAPST
34
IHM-1 FX03
Jacques BAPST
35
Apple Aqua
Microsoft Modern UI
Twitter Bootstrap
Flatter (Embedded UI),
IHM-1 FX03
(AquaFX)
(JMetro)
(Fextile)
...
Windows-7 Aero
Jacques BAPST
(AeroFX)
36