Nous allons voir dans cet article comment est constituée une application Java Fx, comment créer un squelette d’application.
Le seul prérequis pour suivre cette série d’article est d’avoir la dernière version du JDK8. Je vous conseille tous de même pour plus de simplicité d’installer un IDE évolué le meilleur à mon avis est Intellij IDEA pour les nombreuses fonctionnalités facilitant l’écriture de code. Netbeans et Eclipse sont aussi très bien.
1-Java Fx les fondamentaux:
L’objectif de cette série d’article n’est pas d’entrer dans les fin fonds de Java FX pour cela d’excellent livre pourrons vous apporter beaucoup d’information. L’objectif ici est d’être capable le plus rapidement possible d’écrire des applications qui fonctionnent sous Java Fx8.
Le concept : l’élément central d’une application Java Fx est le Stage qui peut être représenté comme un espace vide.
Un Stage contient une Scene qui elle-même contient des Items (Buttons, Check Box etc.).
Le Stage est donc la racine de notre application elle est nommé primaryStage est c’est le seul Stage requis.
Les Layout servent à déterminer la façon dont les éléments de la scène sont placés. Nous citerons pour l’instant le FlowPane (poser les éléments dans une sorte de flux), le BorderPane (poser les éléments selon une zone Centre, Haut Bas Droite et Gauche) et le GridePane.(poser les éléments dans une grille) .
Le cycle de vie d’une application Java Fx: le cycle de vie d’une application est la série d’état par laquelle elle passe de sa création à son arrêt. Pour une application Java Fx elle consiste en trois étapes dont deux sont optionnel et une obligatoire:
Pour créer une application Java Fx il faut étendre la classe Application, et redéfinir la méthode start() la seul méthode qu’il est nécessaire de redéfinir pour y placer notre Stage notre Scène et nos Node(éléments).
La méthode init () sert à faire des initialisations si aucune initialisation n’est nécessaire ont peut ne pas redéfinir cette méthode car prise en charge automatiquement par Java Fx.
La méthode stop () sert à faire des actions lors de l’arrêt si aucune action n’est nécessaire on ne redéfinira pas cette méthode car prise en charge automatiquement par Java Fx.
Exemple 1: Exemple Notre première application:
package sample.chap01;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.layout.FlowPane;
import javafx.stage.Stage;
//Notre application etend la class Application le point d'entrée de toute application Javafx
public class JavaFxSquelette extends Application{
//le main necessaire au demarrade de l'application
public static void main(String[] args) {
//launch fait appel a la methode start de la classe Application que nous allons redefinir
launch(args);
}
/*
le cycle de vie init -> start -> stop
*/
@Override
public void init(){
//initialisation de certain parametre a redefinir (@Override) en cas de besoin
System.out.println("à l'interieur de la partie d'initialisation");
}
@Override
public void start(Stage primaryStage) throws Exception {
//Notre methode principal
System.out.println("à l'interieur de la partie start()");
//definition d'un titre pour notre Stage principal
primaryStage.setTitle("JavaFx Squelette d'application");
//definition d'un Layout pour notre scene ici un FlowPane
FlowPane root = new FlowPane();
//Creation de la scene avec comme parametre le layout une longeur et une hauteur
Scene scene = new Scene(root,300,200);
//creation de trois label
Label label1 = new Label("Label1");
Label label2 = new Label("Label2");
Label label3 = new Label("Label3");
//ajout des label au layout qui lui meme affecté a la scene
root.getChildren().addAll(label1,label2,label3);
//affectation de la scene a notre stage principal
primaryStage.setScene(scene);
//affichage du stage
primaryStage.show();
}
//methode de la class Application à redefinir en cas de besoin d'execution d'action lors de l'arret
@Override
public void stop(){
System.out.println("à l'interieur de la partie stop");
}
}

Lors de l’arrêt de notre application la partie stop() est chargé.