Documentation base JavaFX
1. La classe HelloApplication
public class HelloApplication extends Application {
@Override
public void start(Stage stage) throws IOException {
FXMLLoader fxmlLoader = new FXMLLoader(HelloApplication.cl
ass.getResource("hello-view.fxml"));
Scene scene = new Scene(fxmlLoader.load(), 1000, 600);
stage.setTitle("Puissance 4");
stage.setScene(scene);
stage.show();
}
public static void main(String[] args) {
launch();
}
}
Explication de la classe HelloApplication
1. extends Application :
La classe hérite de Application , ce qui en fait une application JavaFX.
2. Méthode main :
: Cette méthode de la classe Application initialise JavaFX, configure les
launch()
ressources nécessaires et appelle automatiquement la méthode start .
3. Méthode start(Stage stage) :
Stage : Représente la fenêtre principale de l'application.
Étapes de configuration dans start :
Chargement du fichier FXML via FXMLLoader .
FXMLLoader fxmlLoader = new FXMLLoader(HelloApplication.c
lass.getResource("hello-view.fxml"));
Ce fichier décrit la structure de l’interface utilisateur (boutons, boîtes,
etc.).
Création d’une Scene :
Documentation base JavaFX 1
Scene scene = new Scene(fxmlLoader.load(), 1000, 600);
Une scène représente tout ce qui est affiché dans la fenêtre.
Elle est ici définie avec une largeur de 1000 pixels et une hauteur de 600
pixels.
Configuration du titre de la fenêtre :
stage.setTitle("Title");
Lier la scène à la fenêtre :
stage.setScene(scene);
Afficher la fenêtre :
stage.show();
En résumé, HelloApplication charge l’interface utilisateur décrite dans hello-view.fxml ,
configure une fenêtre ( Stage ), y attache une scène ( Scene ), et l’affiche.
2. La classe HelloController
Voici un exemple de HelloController lié à la vue hello-view.fxml :
package com.demop4;
import javafx.fxml.FXML;
import javafx.scene.control.Button;
public class HelloController {
@FXML
private Button myButton;
@FXML
public void onButtonClick() {
System.out.println("Bouton cliqué !");
}
}
Explication de la classe HelloController
Documentation base JavaFX 2
1. Lien avec le fichier FXML :
Dans le fichier hello-view.fxml :
fx:controller="com.demop4.HelloController"
Cela permet au fichier FXML de connecter les éléments graphiques à ce
contrôleur.
2. Attributs annotés avec @FXML :
Exemple :
@FXML
private Button myButton;
Cette annotation connecte la variable myButton à un bouton défini dans le fichier
FXML.
3. Méthode onButtonClick :
Une méthode annotée avec @FXML peut être appelée depuis FXML.
Si le fichier FXML contient un bouton avec l’attribut : alors, JavaFX appelle
automatiquement la méthode onButtonClick du contrôleur lorsque l’utilisateur
clique sur le bouton.
<Button text="Cliquez-moi" onAction="#onButtonClick"/>
3. Résumé des concepts clés
1. HelloApplication :
Définit la fenêtre principale ( Stage ).
Charge et affiche la scène via le fichier FXML.
2. Scene :
Représente tout le contenu visible dans une fenêtre.
Chargée avec le fichier FXML qui décrit les éléments graphiques.
3. HelloController :
Contient la logique pour gérer les interactions utilisateur.
Connecté au fichier FXML via fx:controller .
Utilise @FXML pour associer des éléments du fichier FXML (comme des boutons)
au code Java.
Documentation base JavaFX 3