JavaFX Capture d'écran qui montre la fenêtre d'un programme fictif créé avec JavaFX
Chronologie des versions | ||||||||||||||||||||||||||||
JavaFX est unframework et unebibliothèque d'interface utilisateur issue du projetOpenJFX, qui permet aux développeursJava de créer uneinterface graphique pour des applications de bureau, desapplications internet riches et des applicationssmartphones et tablettes tactiles.
Créé à l'origine parSun MicroSystems, puis développé parOracle après son rachat et ce, jusqu'à la version 11 duJDK, c'est depuis lors à la communauté OpenJFX que revient la poursuite de son développement[1].
Cette bibliothèque a été conçue pour remplacerSwing etAWT, qui ont été développés à partir de la fin des années 90, pour pallier les défauts de ces derniers et fournir de nouvelles fonctionnalités (dont le support des écrans tactiles).
Le cycle de sortie d'une nouvelle version de JavaFX correspond à celui de Java, soit tous les 6 mois.
À ses débuts, les développeurs devaient utiliser le langage de scriptJavaFX Script pour pouvoir décrire une interface utilisateur et la bibliothèque ne permettait de concevoir que des applications internet riches.
Depuis la version 2.0, il s'agit d'une véritableAPI qui est proposé sous la forme d'une bibliothèque tierce et qui plus est, devientopen source[2].
Avec l'apparition de la version 8 de Java (en), JavaFX devient la bibliothèque de création d'interface graphique officielle du langage Java, le développement de son prédécesseur Swing (avec AWT) étant abandonné, excepté pour les corrections de bogues.
Depuis la version 11 de Java, le projet est dissocié du JDK, pour suivre son propre processus de développement. Toutefois, le numéro de version de JavaFX concorde avec celui du JDK pour indiquer sa compatibilité (car toute application JavaFX est basée sur le JDK).
JavaFX est composé des 7 modules suivants:
Numéro de version | Date de sortie | Note |
---|---|---|
1.0 | JavaFX Script ; le code source est fermé | |
1.1 | ||
1.2 | ||
1.3 | Intégration des diagrammes ; support du CSS | |
1.3.1 | ||
2.0 | Il s'agit désormais d'une API et non d'un langage de script ; FXML | |
2.1 | Support de MacOS | |
2.2 | Support de Linux ; nouveaux composants graphiques | |
8.0 | Intégration de JavaFX au JDK 8 | |
9.0 | Modularisation de JavaFX | |
10.0 | ||
11.0 | Devient un module à part entière du JDK | |
12.0 | ||
13.0 | ||
14.0 | 13 mars 2020 | |
15.0 | septembre 2020 | |
16.0 | mars 2021 | |
17.0 | septembre 2021 | Soutien à long terme jusqu'en septembre 2026 |
18.0 | mars 2022 | |
19.0 | septembre 2022 | |
20.0 | mars 2023 | |
21.0 | septembre 2023 | Soutien à long terme |
Ci-dessous, un exemple de programme affichant le message "Hello World":
importjavafx.application.Application;importjavafx.scene.control.Label;importjavafx.stage.Stage;importjavafx.application.Platform;importjavafx.scene.Scene;publicclassMainextendsApplication{// Point d'entrée du programmepublicstaticvoidmain(String[]args){launch(args);// Appel du point d'entrée de l'application JavaFx (voir ci-dessous)}// Point d'entrée de l'application JavaFX@Overridepublicvoidstart(StageprimaryStage){// Définition du titre de la fenêtre de l'applicationprimaryStage.setTitle("Titre de la fenêtre");// Appel d'une méthode permettant une fermeture propre de l'applicationprimaryStage.setOnCloseRequest(e->Platform.exit());// Création de la scène (avec des dimensions correspondant à une résolution HD), composé uniquement d'une étiquette affichant du texteprimaryStage.setScene(newScene(newLabel("Hello world !"),1280,720));// Affichage de la fenêtreprimaryStage.show();}}
Des projets de bibliothèques viennent compléter les fonctionnalités de JavaFX. Parmi eux, on peut citer les projets suivants:
Scene Builder est unoutil interactif de conception d'interface graphique pour JavaFX. Il permet de créer des interfaces utilisateurs rapidement et sans avoir besoin decoder: il en résulte des fichiers au formatFXML qui sont ensuite chargés par le programme pour afficher une interface graphique à ses utilisateurs.
Développé initialement par Oracle et sous le nom JavaFX Scene Builder[5], son code source a été publié enopen source à partir de sa version 2.0[6].
Depuis, le logiciel est principalement développé et soutenu par la sociétéGluon[7].
Technologie | |
---|---|
Général | |
Framework | |
Techniques | |
Langages de programmation |
Commandes | |
---|---|
Données | |
Informations | |
Groupement | |
Navigation | |
Fenêtres spéciales | |
Autres |