ホームページ >Java >&#&チュートリアル >Spring Boot と JavaFX を使用してデスクトップ アプリケーションを構築する

Spring Boot と JavaFX を使用してデスクトップ アプリケーションを構築する

WBOY
WBOYオリジナル
2023-06-22 10:55:375097ブラウズ

テクノロジーが進化し続けるにつれて、さまざまなテクノロジーを使用してデスクトップ アプリケーションを構築できるようになりました。 Spring Boot と JavaFX は、現在最も人気のある選択肢の 1 つです。この記事では、これら 2 つのフレームワークを使用して機能豊富なデスクトップ アプリケーションを構築する方法に焦点を当てます。

1. Spring Boot と JavaFX の概要

Spring Boot は、Spring フレームワークに基づく高速開発フレームワークです。これにより、開発者は、セキュリティ、データベース アクセスなどのすぐに使える機能コンポーネントのセットを提供しながら、Web アプリケーションを迅速に構築できるようになります。 Spring Boot はデスクトップ アプリケーションの構築にも使用できるため、開発者にはより多くの選択肢が提供されます。

JavaFX は、リッチ クライアント アプリケーションを構築するためのオープン ソース Java ライブラリです。レイアウト マネージャー、グラフィック描画など、GUI アプリケーションを構築するための多くの機能を提供します。 JavaFX は、マルチメディア、アニメーションなどのサポートなど、いくつかの追加機能も提供します。

これら 2 つのフレームワークを使用すると、デスクトップ アプリケーションをより簡単に構築でき、コードの品質が高くなります。次に Spring Boot と JavaFX を使用してデスクトップ アプリケーションを構築する方法を紹介します。

2. デスクトップ アプリケーションを構築する

  1. Spring Boot プロジェクトを作成する

まず、Spring Boot プロジェクトを作成する必要があります。任意の IDE を使用することも、コマンド ラインを直接使用することもできます。作成後、JavaFX の依存関係を追加する必要があります。ここでは、Maven を使用してプロジェクトの依存関係を管理します。 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>

これらの依存関係は、JavaFX に必要なライブラリとリソースを提供します。これらの依存関係を追加した後、デスクトップ アプリケーションを起動するためのスタートアップ クラスを作成する必要があります。

  1. JavaFX アプリケーションの作成

ここで、JavaFX アプリケーションの構築を開始できます。 JavaFX アプリケーションを作成するには、FXML を使用する方法と Java コードを使用する方法の 2 つがあります。 FXML は、JavaFX ユーザー インターフェイスを記述するために使用される XML 形式です。 FXML ファイルは、ウィンドウの構造、レイアウト、コンテンツを記述します。これにより、ユーザー インターフェイスの設計とビジネス ロジックを分離することができます。

ここでの例では、FXML ファイルを使用してユーザー インターフェイスを作成します。単純なユーザー インターフェイスを作成するには、FXML ファイルを作成する必要があります。

<?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>

FXML ファイルは、2 つの HBox を含む VBox を記述します。各 HBox にはラベルとボタンが含まれています。ここでは FXML コントローラーを使用してボタンのクリック イベントを処理します。これは、FXML ファイル内のイベントを処理する Java クラスを作成する必要があることを意味します。

  1. FXML コントローラーの追加

FXML ファイル内のイベントを処理する Java クラスを作成する必要があります。ここでは @FXML アノテーションを使用して、Java クラスのメソッドを FXML ファイルのイベントにバインドします。ここで、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!");
    }
}

コントローラー クラスには、ラベルとメソッドが含まれています。ボタンをクリックするとメソッドが呼び出されます。このメソッドは、ラベルのテキストを更新して「Hello, World!」を表示します。

  1. アプリケーションの開始

JavaFX アプリケーションの構築が完了しました。次に、アプリケーションを開始するためのスタートアップ クラスを作成する必要があります。ここでは Spring Boot の @SpringBootApplication アノテーションを使用します。 @SpringBootApplication アノテーションは、アプリケーション内のすべてのコンポーネントをスキャンし、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);
    }
}

私たちの DemoApplication は JavaFX Application クラスを継承します。アプリケーションを起動すると、Spring Boot の SpringApplicationBuilder クラスがアプリケーションをスキャンし、Spring コンテキストを作成します。 FXMLLoader クラスは FXML ファイルをロードし、それをシーン グラフのルート ノードとして設定します。シーングラフを新しいステージに入れて表示します。最後に、アプリケーションが終了するときに、Spring コンテキストを閉じる必要があります。

3. アプリケーションの完成

Spring Boot と JavaFX を使用してデスクトップ アプリケーションを構築することに成功しました。 JavaFX を使用して非常に美しく強力なユーザー インターフェイスを作成し、Spring Boot を使用してビジネス ロジックを処理し、Spring Boot を使用してアプリケーションを自動的に構成できます。この記事では簡単な例を紹介しただけなので、より複雑なアプリケーションを試してみたい場合は、Spring Boot や JavaFX を詳しく検討することをお勧めします。

以上がSpring Boot と JavaFX を使用してデスクトップ アプリケーションを構築するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。