Introduction à JavaFX
Sommaire
- 1- Objectifs
- 2- Introduction à JavaFx :
- 2.1- Définition
- 2.2- Historique de JavaFX
- 3- Architecture JavaFX
- 3.1- API publique JavaFX :
- 3.1.1- javafx.application :
- 3.1.2- javafx.animation :
- 3.1.3- javafx.collections :
- 3.1.4- javafx.événement :
- 3.1.5- javafx.fxml :
- 3.1.6- javafx.scène :
- 3.1.7- javafx.géométrie :
- 3.1.8- javafx.util :
- 3.2- Graphique de scène :
- 3.2.1- Objets géométriques :
- 3.2.2- Contrôles de l'interface utilisateur :
- 3.2.3- Conteneurs :
- 3.3- Moteur graphique :
- 3.4- Boîte à outils quantique :
- 3.5- Prisme :
- 3.6- Boîte à outils pour les vitrages :
- 3.7- Vue Web :
- 3.8- Moteur multimédia :
- 3.8.1- Media Object :
- 3.8.2- Media Player :
- 3.8.3- Vue Média :
- 3.8.4- Cours JAVA
Introduction à JavaFX
-
Objectifs
- L’objectif principal de ce tutoriel est de fournir une compréhension complète des concepts fondamentaux et des techniques de base nécessaires pour développer des applications de bureau en utilisant JavaFX.
-
Introduction à JavaFx :
-
Définition
- JavaFX est une technologie créée par Sun Microsystems qui appartient désormais à Oracle. Avec l’apparition de Java 8 en mars 2014, JavaFX devient la bibliothèque de création d’interface graphique officielle du langage Java, pour toutes les sortes d’application (applications mobiles, applications sur poste de travail, applications Web), le développement de son prédécesseur Swing étant abandonné (sauf pour les corrections de bogues).
- JavaFX est un framework et une bibliothèque d’interface utilisateur issue du projet OpenJFX, qui permet aux développeurs Java de créer une interface graphique pour des applications de bureau, des applications internet riches et des applications smartphones et tablettes tactiles.
- JavaFX est une bibliothèque Java de création d’interfaces utilisateur graphiques. JavaFX faisait initialement partie de la bibliothèque standard Java, mais est devenu par la suite un projet séparé. Pour cette raison, il est nécessaire d’installer JavaFX avant de pouvoir l’utiliser dans un projet, et ce document décrit la marche à suivre.
-
Historique de JavaFX
- La première version de JavaFX, la version 1.0, a été lancée en 2008. Cette version initiale diffère considérablement de la version actuelle, JavaFX 8. Voici un aperçu des principales différences et évolutions :
- Langage de Script Spécifique : JavaFX 1.0 utilisait un langage de script propre, ce qui nécessitait l’apprentissage d’une nouvelle syntaxe distincte de Java.
- Téléchargement Séparé : À l’époque, JavaFX devait être téléchargé séparément de la JDK (Java Development Kit).
- Faible Support des Outils : Le support des environnements de développement intégré (IDE) était limité, ce qui rendait le développement avec JavaFX moins pratique.
- Avec le temps et l’amélioration de la maturité de la technologie, JavaFX a subi des changements significatifs :
- Inclusion par Défaut : JavaFX est désormais inclus par défaut dans la JDK, rendant son utilisation beaucoup plus accessible.
- Accessibilité dans les IDE : Les environnements de développement intégrés (IDE) tels qu’Eclipse, IntelliJ IDEA, et NetBeans offrent un support robuste pour JavaFX.
- Utilisation de Java : Contrairement aux premières versions, il n’est plus nécessaire d’apprendre un nouveau langage de script. JavaFX utilise maintenant l’API Java, similaire à Swing et AWT, facilitant ainsi la transition pour les développeurs Java.
- Importance de cette Évolution
- Cette information est pertinente pour plusieurs raisons :
- Documentation et Exemples Anciens : Il est possible de trouver sur Internet des documents ou des exemples relatifs aux anciennes versions de JavaFX. Ces versions obsolètes ne sont plus recommandées.
- Transition vers Java : L’introduction de Java à partir de JavaFX 2.0 a simplifié le processus de développement, éliminant la nécessité d’apprendre un nouveau langage de script.
- En résumé, JavaFX a évolué pour devenir une technologie plus accessible et intégrée, facilitant ainsi le développement d’applications riches en utilisant des outils et des langages familiers aux développeurs Java.
-
Architecture JavaFX
- L’architecture JavaFX se compose de nombreux composants intégrés tels que l’API publique JavaFX, Scene Graph, Quantum Toolkit, Prism, la boîte à outils Glass Windowing, la vue Web et les moteurs multimédias. Ces composants aident à développer des applications GUI riches avec des propriétés avancées.
-
API publique JavaFX :
- Il comprend toutes les classes et interfaces requises pour exécuter les applications JavaFX. C’est la couche la plus élevée de l’architecture. Certains des forfaits sont :
-
javafx.application :
- Toutes les méthodes du cycle de vie des applications sont fournies par ce package.
-
javafx.animation :
- Les transitions et les animations sont effectuées à l’aide de ce package.
-
javafx.collections :
- Ce package fournit les collections et les utilitaires requis pour JavaFX
-
javafx.événement :
- Ce package fournit des classes qui fonctionnent avec la gestion des événements
-
javafx.fxml :
- Les classes qui fournissent une hiérarchie de balisage sont disponibles dans ce package
-
javafx.scène :
- Ce package prend en charge l’API javafx du graphique de scène
-
javafx.géométrie :
- Ce package fournit toutes les classes requises pour la géométrie 2D
-
javafx.util :
- Toutes les classes d’utilitaires sont présentes dans ce package
-
Graphique de scène :
- Lors de la construction de l’application javafx, nous commençons toujours par l’API de graphique de scène. Tous les éléments graphiques de l’interface utilisateur sont les nœuds de cet arbre.
- La gestion des événements se fait également avec ce graphe de scène. Chaque nœud du graphique de scène a son propre identifiant, son volume et son style.
- Le nœud du graphe de scène n’a qu’un seul parent. Il peut avoir zéro ou plusieurs enfants. L’implémentation que nous effectuons sur le graphe de scène est appliquée aux nœuds qu’il contient. Divers packages comme javafx.scene.media, javafx.scene.paint, javafx.scene.layout, javafx.scene.input, javafx.scene.shape permettent de créer et de générer diverses transformations et animations dans les applications JavaFX. Chaque nœud de Scene Graph possède :
-
Objets géométriques :
- il comprend toutes les formes 2D et 3D telles que le rectangle, le cercle et le polygone.
-
Contrôles de l’interface utilisateur :
- divers composants de l’interface utilisateur tels que la zone de texte et le bouton de case à cocher relèvent des contrôles de l’interface utilisateur.
-
Conteneurs :
- bordure, grille, volet de flux sont des volets de présentation disponibles dans les conteneurs JavaFX.
-
Moteur graphique :
- La prise en charge graphique du graphique de scène est fournie par le moteur graphique. Les graphiques bidimensionnels et tridimensionnels sont pris en charge par ce composant. Lorsque le rendu accéléré par le matériel n’est pas disponible, il fournit un rendu logiciel.
-
Boîte à outils quantique :
- Quantum Toolkit combine une boîte à outils de prisme et de fenêtrage en verre, puis il sera mis à la disposition des couches supérieures de la pile. La boîte à outils Prism et Glass Windowing est mise à la disposition de javafx en utilisant ceci.
-
Prisme :
- Un pipeline graphique accéléré par le matériel et présentant des performances élevées est fourni aux applications JavaFX et est mis à disposition à l’aide d’un prisme. Il fournit un rendu graphique 2D et 3D. Il utilise différentes manières sur différentes plates-formes telles que OpenGL sur Mac, Linux et DirectX sur Windows 7. Lorsque l’accélération matérielle n’est pas possible, il fournit Java 2D. Lorsque l’accélération matérielle n’est pas possible, elle prend en charge le chemin de rendu logiciel. Lorsque la fonctionnalité prisme est utilisée avec le GPU, elle prend en charge des graphiques plus fluides.
-
Boîte à outils pour les vitrages :
- Il est également connu sous le nom de GWT. Glass Windowing Toolkit est le dernier niveau de la pile JavaFX. Il dépend de la plate-forme et des interfaces entre JavaFX et le système d’exploitation natif. Tous les services du système d’exploitation tels que la gestion des fenêtres, les files d’attente d’événements, les minuteries sont sous la responsabilité de Glass Windowing Toolkit. Il fournit la connexion entre notre application JavaFX et le système d’exploitation pour une communication ultérieure.
-
Vue Web :
- Le contenu HTML peut être intégré dans l’application JavaFX. Cette fonctionnalité est mise à disposition à l’aide du composant Web View de JavaFX. Le kit Web est utilisé par Web View qui prend en charge l’utilisation de HTML5, CSS, JavaScript, DOM et SVG. En utilisant Web View, nous pouvons utiliser divers composants HTML dans l’application JavaFX avec un style CSS appliqué pour une interface utilisateur graphique (GUI) avancée.
-
Moteur multimédia :
- Toutes les lectures audio-vidéo et fichiers multimédias dans l’application JavaFX. Le moteur multimédia utilisé dans l’application JavaFX dépend de G Streamer. Toutes les classes et interfaces requises pour la fonction multimédia dans JavaFX sont fournies par javafx.scene.media. Divers formats audio tels que MP3, WAV, AIFF et formats vidéo comme FLC sont pris en charge par JavaFX Media Engine. Le package multimédia JavaFX fournit la fonctionnalité à l’aide des trois composants :
-
Media Object :
- le fichier multimédia est représenté à l’aide d’un Media Object.
-
Media Player :
- le contenu multimédia est lu à l’aide de Media Player
-
Vue Média :
- Afin d’afficher les médias, la vue Média est utilisée.