JavaFX

JavaFX
Description de l'image JavaFX Logo.png.
Description de cette image, également commentée ci-après
Capture d'écran qui montre la fenêtre d'un programme fictif créé avec JavaFX
Informations
Créateur Sun MicrosystemsVoir et modifier les données sur Wikidata
Développé par Oracle et Sun MicrosystemsVoir et modifier les données sur Wikidata
Première version 1.0 ()Voir et modifier les données sur Wikidata
Dernière version 17.0.21 ()
21.0.13 ()
25.0.5 ()
27.0.1 ()Voir et modifier les données sur Wikidata
Dépôt github.com/openjdk/jfxVoir et modifier les données sur Wikidata
État du projet  Actif
Écrit en C++, Java et CVoir et modifier les données sur Wikidata
Supporte les langages JavaVoir et modifier les données sur Wikidata
Environnement Multi-plateforme
Formats lus JavaFX Script et FXMLVoir et modifier les données sur Wikidata
Langues AnglaisVoir et modifier les données sur Wikidata
Type Cadre applicatif (en)
Widget toolkit
Bibliothèque logicielleVoir et modifier les données sur Wikidata
Politique de distribution Gratuit
Licence Licence publique générale GNU version 2 ou ultérieureVoir et modifier les données sur Wikidata
Site web openjfx.ioVoir et modifier les données sur Wikidata

Chronologie des versions

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.

Créé à l'origine par Sun MicroSystems, puis développé par Oracle après son rachat et ce, jusqu'à la version 11 du JDK, c'est depuis lors à la communauté OpenJFX que revient la poursuite de son développement.

Cette bibliothèque a été conçue pour remplacer Swing et AWT, 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.

Historique

À ses débuts, les développeurs devaient utiliser le langage de script JavaFX 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éritable API qui est proposé sous la forme d'une bibliothèque tierce et qui plus est, devient open source.

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).

Composants

Exemple de scène 3D simple utilisant JavaFX.

JavaFX est composé des 7 modules suivants:

Versions

Liste des versions de JavaFX,,
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

Exemple

Ci-dessous, un exemple de programme affichant le message "Hello World":

import javafx.application.Application;
import javafx.scene.control.Label;
import javafx.stage.Stage;
import javafx.application.Platform;
import javafx.scene.Scene;

public class Main extends Application {
    
    // Point d'entrée du programme
    public static void main(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
    @Override
    public void start(Stage primaryStage) {

        // Définition du titre de la fenêtre de l'application
        primaryStage.setTitle("Titre de la fenêtre");
        
        // Appel d'une méthode permettant une fermeture propre de l'application
        primaryStage.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 texte
        primaryStage.setScene(new Scene(new Label("Hello world !"), 1280, 720));
        
        // Affichage de la fenêtre
        primaryStage.show();
    }
}

Bibliothèques

Des projets de bibliothèques viennent compléter les fonctionnalités de JavaFX. Parmi eux, on peut citer les projets suivants:

Scene Builder: l'outil de conception d'interfaces

Article détaillé : Scene Builder.
Interface de Scene Builder

Scene Builder est un outil interactif de conception d'interface graphique pour JavaFX. Il permet de créer des interfaces utilisateurs rapidement et sans avoir besoin de coder: il en résulte des fichiers au format FXML 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, son code source a été publié en open source à partir de sa version 2.0.

Depuis, le logiciel est principalement développé et soutenu par la société Gluon.

Annexes

Sur les autres projets Wikimedia :

Articles connexes

Liens externes

Références

  1. ↑ InfoWorld (magazine), IDG, consulté le .Voir et modifier les données sur Wikidata
  2. ↑ « Release Notes for JavaFX 17.0.21 », (consulté le )
  3. ↑ « Release Notes for JavaFX 21.0.13 », (consulté le )
  4. ↑ « Release Notes for JavaFX 25.0.5 », (consulté le )
  5. ↑ « Release Notes for JavaFX 27.0.1 », (consulté le )
  6. ↑ « JDK 11 update: JavaFX will be decoupled from the JDK », sur jaxenter.com, JAXenter, (consulté le )
  7. 1 2 (en) « Repositories and Releases », sur OpenJDK Wiki, (consulté le )
  8. ↑ (en) « What is JavaFX ? », sur thoughtco.com, ThoughtCo., (consulté le )
  9. ↑ (en) « JavaFX 8: New and Noteworthy », sur SlidePlayer, (consulté le )
  10. ↑ (en) « JavaFX Scene Builder Information », sur oracle.com (consulté le )
  11. ↑ « JavaFX Scene Builder devient open source, dans le cadre du projet OpenJFX », sur developpez.com, (consulté le )
  12. ↑ (en) « Scene Builder », sur gluonhq.com (consulté le )