Page 3 sur 11
1 Préambule
Ce document expose d’abord une initiation théorique à JavaFX une technologie considérée comme
étant l’avenir pour le développement d'interfaces graphiques en Java.
Notre choix s’est fixé sur cette technologie afin d’améliorer la réactivité de nos IHM, et favoriser la
séparation MVC. De plus, la communauté java SE s’oriente vers considérer JavaFX le successeur de
Swing pour sa librairie d’interface utilisateur (Client UI library). Ceci a été clairement déclaré dans la
documentation d’Oracle [Oracle-01].
Dans cette perspective et afin de maintenir le cycle de vie du plugin et assurer la prospérité de tout le
projet, une migration de l’environnement Swing vers JavaFX est pertinente.
2 JavaFX
Le JavaFX est un langage de programmation orienté interface graphique. Cette technologie est en
faveur des applications internet riches qui se comportent sur des multiples plateformes.
JavaFX évolue vers le multimédia à travers le traitement des images, la création de media player, et
l’intégration audio et vidéo. Ces applications ont l’avantage d’être exécuté sur le web, sur le bureau,
(Desktop) ainsi que sur mobile, et même sur télévision.
La nouvelle version JavaFX 2 .0 donne la possibilité de développer en deux modes :
- Mode procédural : à travers les classes java.
- Mode déclaratif : en utilisant la syntaxe XML.
3 Architecture de JavaFX
L'architecture technique de JavaFX est composée de plusieurs couches qui reposent sur la machine
virtuelle Java (JVM). Seulement la couche API est publique, les autres peuvent subir des changements
au fil des versions. Ceci permet d’éviter tout problème de compatibilité. [IHM-01]
Quantum Toolkit : permet de lier le « Prism » et la boîte à outils de fenêtrage « Glass » ensemble et
les rendre accessibles à la couche JavaFX. Elle gère également les règles relatives aux Threading et à la
manipulation des événements.
Figure 1 Diagramme d’architecture de JavaFX [Oracle-02]