Maison  >  Article  >  Java  >  Créez des applications de bureau à l'aide de Spring Boot et JavaFX

Créez des applications de bureau à l'aide de Spring Boot et JavaFX

WBOY
WBOYoriginal
2023-06-22 10:55:375008parcourir

À mesure que la technologie continue d'évoluer, nous pouvons désormais utiliser différentes technologies pour créer des applications de bureau. Spring Boot et JavaFX sont actuellement l'un des choix les plus populaires. Cet article se concentrera sur la façon d'utiliser ces deux frameworks pour créer une application de bureau riche en fonctionnalités.

1. Introduction à Spring Boot et JavaFX

Spring Boot est un framework de développement rapide basé sur le framework Spring. Il aide les développeurs à créer rapidement des applications Web tout en fournissant un ensemble de composants fonctionnels prêts à l'emploi tels que la sécurité, l'accès aux bases de données, etc. Spring Boot peut également être utilisé pour créer des applications de bureau, offrant ainsi plus de choix aux développeurs.

JavaFX est une bibliothèque Java open source permettant de créer des applications client riches. Il fournit de nombreuses fonctionnalités pour créer des applications GUI telles que des gestionnaires de mise en page, des dessins graphiques, etc. JavaFX fournit également quelques fonctionnalités supplémentaires, telles que la prise en charge du multimédia, de l'animation, etc.

L'utilisation de ces deux frameworks peut nous aider à créer une application de bureau plus facilement et la qualité du code sera meilleure. Nous présenterons ensuite comment utiliser Spring Boot et JavaFX pour créer une application de bureau.

2. Créer une application de bureau

  1. Créer un projet Spring Boot

Tout d'abord, nous devons créer un Projet Spring Boot. Vous pouvez utiliser n'importe quel IDE ou utiliser directement la ligne de commande. Après la création, nous devons ajouter les dépendances de JavaFX. Ici, nous utilisons Maven pour gérer les dépendances du projet. Ajoutez les dépendances suivantes dans le fichier pom.xml :

<dependency>
    <groupId>org.openjfx</groupId>
    <artifactId>javafx-controls</artifactId>
    <version>16</version>
</dependency>
<dependency>
    <groupId>org.openjfx</groupId>
    <artifactId>javafx-fxml</artifactId>
    <version>16</version>
</dependency>

Ces dépendances fourniront les bibliothèques et ressources requises par JavaFX. Après avoir ajouté ces dépendances, nous devons créer une classe de démarrage pour lancer notre application de bureau.

  1. Création d'une application JavaFX

Maintenant, nous pouvons commencer à créer une application JavaFX. Il existe deux manières de créer des applications JavaFX : en utilisant FXML ou en utilisant du code Java. FXML est un format XML utilisé pour décrire l'interface utilisateur JavaFX. Les fichiers FXML décrivent la structure, la disposition et le contenu d'une fenêtre. Cela nous permet de séparer la conception de l’interface utilisateur et la logique métier.

L'exemple que nous avons ici utilisera des fichiers FXML pour créer l'interface utilisateur. Nous devons créer un fichier FXML pour créer une interface utilisateur simple :

<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.layout.HBox?>
<?import javafx.scene.layout.VBox?>

<VBox xmlns="http://javafx.com/javafx"
      xmlns:fx="http://javafx.com/fxml"
      fx:controller="com.example.MyController">
    <HBox>
        <Label text="Hello, World!"/>
    </HBox>
    <HBox>
        <Button text="Say Hello" onAction="#handleButtonAction"/>
    </HBox>
</VBox>

Le fichier FXML décrit une VBox, qui contient deux HBox. Chaque HBox contient une étiquette et un bouton. Nous utiliserons ici un contrôleur FXML pour gérer les événements de clic de bouton. Cela signifie que nous devons créer une classe Java pour gérer les événements dans le fichier FXML.

  1. Ajouter un contrôleur FXML

Nous devons créer une classe Java pour gérer les événements dans le fichier FXML. Ici, nous utiliserons l'annotation @FXML pour lier les méthodes de la classe Java aux événements du fichier FXML. Ici, nous devons créer une classe MyController :

package com.example;

import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.scene.control.Label;

public class MyController {

    @FXML
    private Label label;

    @FXML
    protected void handleButtonAction(ActionEvent event) {
        label.setText("Hello, World!");
    }
}

Notre classe contrôleur contient une étiquette et une méthode. La méthode sera appelée lorsque le bouton sera cliqué. La méthode mettra à jour le texte de l'étiquette pour afficher « Hello, World ! »

  1. Démarrez l'application

Nous avons terminé de construire l'application JavaFX. Nous devons maintenant écrire une classe de démarrage pour démarrer notre application. Ici, nous utiliserons l'annotation @SpringBootApplication de Spring Boot. L'annotation @SpringBootApplication analysera tous les composants de l'application et définira automatiquement le contexte de l'application Spring.

package com.example;

import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.context.ConfigurableApplicationContext;

import java.io.IOException;

@SpringBootApplication
public class DemoApplication extends Application {

    private ConfigurableApplicationContext springContext;
    private Parent rootNode;

    @Override
    public void init() throws IOException {
        SpringApplicationBuilder builder = new SpringApplicationBuilder(DemoApplication.class);
        springContext = builder.run(getParameters().getRaw().toArray(new String[0]));

        FXMLLoader loader = new FXMLLoader(getClass().getResource("/fxml/main.fxml"));
        loader.setControllerFactory(springContext::getBean);
        rootNode = loader.load();
    }

    @Override
    public void start(Stage primaryStage) {
        Scene scene = new Scene(rootNode, 640, 480);
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    @Override
    public void stop() {
        springContext.stop();
    }

    public static void main(String[] args) {
        launch(args);
    }
}

Notre DemoApplication hérite de la classe JavaFX Application. Lors du démarrage de l'application, la classe SpringApplicationBuilder de Spring Boot analysera notre application et créera un contexte Spring. La classe FXMLLoader chargera le fichier FXML et le définira comme nœud racine du graphe de scène. Nous plaçons le graphique de scène dans la nouvelle scène et l'affichons. Enfin, lorsque l'application se termine, nous devons fermer le contexte Spring.

3. Complétez la candidature

Nous avons créé avec succès une application de bureau en utilisant Spring Boot et JavaFX. Nous pouvons utiliser JavaFX pour créer des interfaces utilisateur très belles et puissantes, utiliser Spring Boot pour gérer la logique métier et utiliser Spring Boot pour configurer automatiquement nos applications. Cet article présente simplement un exemple simple. Si vous souhaitez essayer des applications plus complexes, je vous recommande de regarder de plus près Spring Boot et JavaFX.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn