Première application JavaFX
Création d'une application JavaFX de base
Configuration du projet
## Create project directory
mkdir labex-javafx-demo
cd labex-javafx-demo
## Initialize Maven project
mvn archetype:generate \
-DgroupId=com.labex \
-DartifactId=javafx-demo \
-DarchetypeArtifactId=maven-archetype-quickstart \
-DinteractiveMode=false
Structure de l'application
graph TD
A[Project Root] --> B[src/main/java]
B --> C[Main Application Class]
B --> D[Controller Classes]
A --> E[pom.xml]
Exemple d'application JavaFX complète
Classe principale de l'application
package com.labex;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
public class JavaFXDemoApp extends Application {
@Override
public void start(Stage primaryStage) {
// Create UI Components
Button clickButton = new Button("Click Me!");
VBox root = new VBox(10);
root.getChildren().add(clickButton);
// Configure Button Action
clickButton.setOnAction(event -> {
System.out.println("Button Clicked in LabEx JavaFX Demo!");
});
// Create and Configure Scene
Scene scene = new Scene(root, 300, 200);
primaryStage.setTitle("LabEx JavaFX Demo");
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
Types de composants d'interface utilisateur
Composant |
Description |
Cas d'utilisation |
Button |
Élément cliquable interactif |
Déclenchement d'actions |
Label |
Affichage de texte |
Affichage d'informations |
TextField |
Saisie de texte par l'utilisateur |
Collecte de données utilisateur |
CheckBox |
Sélection binaire |
Choix multiples |
ComboBox |
Sélection dans une liste déroulante |
Sélection à partir d'une liste |
Gestion des événements
Types d'événements
graph LR
A[JavaFX Events] --> B[Mouse Events]
A --> C[Keyboard Events]
A --> D[Window Events]
A --> E[Action Events]
Gestion avancée des événements
// Lambda Expression Event Handling
button.setOnMouseClicked(event -> {
switch(event.getButton()) {
case PRIMARY:
System.out.println("Left Click");
break;
case SECONDARY:
System.out.println("Right Click");
break;
}
});
CSS en ligne
button.setStyle(
"-fx-background-color: #3498db;" +
"-fx-text-fill: white;" +
"-fx-font-size: 14px;"
);
Configuration des dépendances Maven
<dependencies>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-controls</artifactId>
<version>17.0.2</version>
</dependency>
</dependencies>
Exécution de l'application
## Compile the project
mvn clean compile
## Run JavaFX application
mvn javafx:run
Bonnes pratiques
- Séparer l'interface utilisateur et la logique
- Utiliser FXML pour les mises en page complexes
- Implémenter une gestion d'événements appropriée
- Utiliser CSS pour la mise en forme
- Suivre les méthodes du cycle de vie de JavaFX
En suivant ces étapes, vous pouvez créer votre première application JavaFX interactive dans l'environnement de développement LabEx.