Introduction aux applications JavaFX

JavaFX est une plate-forme logicielle pour concevoir, créer, tester et déployer différentes applications d'interface graphique utilisateur de plate-forme, des applications Internet riches et des applications de bureau. En Java, afin de remplacer Swing comme bibliothèque GUI standard, il est développé. Il prend en charge les navigateurs Web et les ordinateurs personnels de bureau sous Linux, MS Windows et macOS. Il prend également en charge MS Windows de différentes versions telles que Windows Vista, Windows 7, Windows 8, les systèmes d'exploitation Windows 10. Plusieurs aspects tels que le travail, la création et l'exemple de JavaFX seront abordés dans les sections suivantes.

Structure de l'application JavaFx

Étape

La scène est une fenêtre composée de tous les objets d'application JavaFX. Elle est désignée par la classe Stage du package java javafx.stage.

La largeur et la hauteur sont les 2 paramètres de la scène qui déterminent la position. Il est divisé en une barre de titre et des bordures. c'est-à-dire la zone de contenu et les décorations.

Il existe cinq types d'étapes disponibles.

  • Décoré
  • Unifié
  • Utilitaire
  • Transparent
  • Non décoré

Scène

Dans JavaFX, Scene désigne le contenu physique d'une application. Il se compose également de plusieurs contenus d'un graphique de scène. Elle est désignée par la classe Scene du package java javafx.scene.

Graphique et nœuds de scène

Le contenu de la scène sera représenté dans une structure de données arborescente ou hiérarchique. Il est connu comme le graphique de scène. En revanche, l'objet graphique ou visuel d'un graphe de scène est appelé nœud.

Un nœud se compose de:

  • Contrôles de l'interface utilisateur tels que la zone de texte, la case à cocher, le bouton, la boîte de choix, etc.
  • Objets géométriques (graphiques) 2D et 3D tels que polygone, cercle, rectangle, etc.
  • Plusieurs éléments multimédias tels que des objets image, vidéo et audio.
  • Panneaux de mise en page ou conteneurs tels que le volet de flux, le volet de bordure, le volet de grille, etc.

La classe Node est la superclasse de tous les nœuds disponibles dans le package javafx.scene désigne un nœud dans JavaFX.

Un nœud est de 3 types -

  • Noeud principal
  • Noeud de branche
  • Noeud feuille

1. Nœud racine: le nœud racine est connu comme le premier graphe de scène.

2. Nœud de branche ou nœud parent : le nœud de branche, également appelé nœud parent, sont les nœuds avec des nœuds enfants. La classe parent est la classe abstraite du package javafx.scene qui est la classe de base des nœuds parents présents.

Les nœuds parents peuvent être des types suivants:

  • Groupe
  • Région
  • WebView

Groupe: Tous les nœuds enfants sont disponibles sous forme de liste dans ce nœud collectif, c'est-à-dire le nœud de groupe. Les nœuds enfants sont rendus dans le même ordre que celui du rendu du nœud de groupe. Toute transformation, état d'effet appliqué au groupe sera appliqué à tous les nœuds enfants.

Région: classe de base de chaque contrôle d'interface utilisateur basé sur un nœud JavaFX, tel que graphique, contrôle et volet.

WebView: un moteur Web est géré par ce nœud et il aide à afficher tout le contenu.

3. Nœud feuille : un nœud sans nœud enfant est appelé nœud feuille. Par exemple: Box, Rectangle, ImageView, Ellipse, MediaView sont des nœuds terminaux.

Caractéristiques de JavaFx

  • Afin de créer des formes comme un cylindre, une boîte et une sphère, des fonctionnalités graphiques 3D sont disponibles.
  • L'interface utilisateur (UI) de l'application peut être créée en utilisant un langage basé sur XML, FXML.
  • À l'aide de CSS (feuilles de style en cascade), les composants de l'interface utilisateur dans JavaFX peuvent être stylisés.
  • Le nombre énorme de contrôles d'interface utilisateur intégrés tels que DatePicker, TableView, WebView, contrôles de formulaire, ListView sont également disponibles dans JavaFX.
  • Un outil Scene Builder est disponible dans JavaFX qui permet de concevoir des interfaces utilisateur (UI) qui n'ont pas besoin d'écrire du code. Cet outil peut être intégré dans presque tous les IDE importants tels que Eclipse, Netbeans et
  • Des packages natifs installables d'applications JavaFX peuvent être créés dans presque tous les systèmes d'exploitation. Cela créera une expérience similaire au lancement comme dans n'importe quelle application native.

Implémentation de l'application JavaFX

Voyons maintenant un exemple de programme pour démontrer l'application JavaFX.

Exemple: programme Java pour démontrer l'application JavaFX

import javafx.event.EventHandler;
import javafx.application.Application;
import javafx.scene.control.Button;
import javafx.stage.Stage;
import javafx.event.ActionEvent;
import javafx.scene.Scene;
import javafx.scene.layout.StackPane;
//create a class that extends Application class
public class JFXApplicationExample extends Application (
//main method
public static void main(String() args) (
//method to launch the JavaFX application
launch(args);
)
@Override
//strat the application
public void start(Stage primaryStage) (
//set a title to the stage
primaryStage.setTitle("JavaFX Application Example!");
Button b = new Button();
b.setText("Click Me");
b.setOnAction(new EventHandler()
(
@Override
public void handle(ActionEvent event) (
System.out.println(" Hoorayyy… I am working !!!!");
)
));
StackPane r = new StackPane();
r.getChildren().add(b);
//set a scene to the stage by setting height and width of the stage
primaryStage.setScene(new Scene(r, 300, 250));
//display the stage
primaryStage.show();
)
)

Exemple de sortie:

Lorsque vous cliquez sur le bouton Exécuter après avoir correctement compilé le code, une boîte de dialogue apparaît comme illustré ci-dessous.

On peut voir que la boîte de dialogue a un titre "Exemple d'application JavaFX" et un bouton avec du texte comme "Click Me". Lorsque le bouton est cliqué, la sortie sera affichée dans la console Eclipse comme indiqué ci-dessous.

Un affichage réussi de la sortie montre que l'application fonctionne correctement.

Applications réelles de JavaFX

ApplicationDomaine d'utilisation
NEOS - Nouveau système d'exploitation EurovisionTélévision
Éditeur de modèles IAVAnalyse des données du parc de véhicules
Optimisation de la capacité du réseau Emirates AirlineAviation
Application de tradingCommerce
AIDA German AIDS FoundationBureau
QuoteMonitorLa finance
MuseoIDBureau
Télescope spatial James Webb (JWST) Flight Dynamics Ground System (FDGS) NasaEspace
Atlas TraderLa finance
MENTHE TRMSFormation
PSI Advanced Scheduling and Monitoring / ASMSystèmes d'exécution de fabrication

Logiciel GEONS Ground System (GGSS) NasaEspace
Navigator LyndenExpéditeur
AMMOS Asteroid Explorer NasaEspace
Explorateur de trajectoires spatiales NasaEspace
eteoBoard Saxonia Systems AGPlanche de mêlée
FORUM Carl Zeiss Meditec AGMédical
Appareil centralService cloud
ConservateurOR CaliopHôpitaux / Chirurgie

Conclusion - Applications JavaFX

JavaFX est une plate-forme qui aide au processus de développement, comme la conception, la création et le test d'applications GUI. Il est développé pour remplacer Swing en Java. Dans ce document, les fonctionnalités, la structure, l'implémentation et l'exemple réel d'application JavaFX sont traités en détail.

Articles recommandés

Ceci est un guide des applications JavaFX. Ici, nous discutons de la structure, des fonctionnalités et de l'implémentation de l'application JavaFx avec un exemple de code. Vous pouvez également consulter l'article suivant pour en savoir plus -

  1. JButton en Java
  2. JList en Java
  3. JCheckBox en Java
  4. Classe Singleton en Java
  5. Types et comment créer des graphiques JavaFx?
  6. Graphiques 2D en Java
  7. Comment saisir du texte dans JavaFX TextField?
  8. Constructeurs et méthodes du bouton JavaFx
  9. JavaFX FileChooser
  10. Qu'est-ce que JavaFX? | Comment JavaFX fonctionne?
  11. Propriétés avec programme pour implémenter du texte JavaFX
  12. Top 15 des méthodes de HBox dans JavaFX
  13. Navigateur en JavaScript | Propriétés, méthodes (exemples)
  14. Comment créer une case à cocher dans JavaFX avec des exemples?