ホームページ >Java >&#&チュートリアル >Spring Boot と JavaFX を使用してデスクトップ アプリケーションを構築する
テクノロジーが進化し続けるにつれて、さまざまなテクノロジーを使用してデスクトップ アプリケーションを構築できるようになりました。 Spring Boot と JavaFX は、現在最も人気のある選択肢の 1 つです。この記事では、これら 2 つのフレームワークを使用して機能豊富なデスクトップ アプリケーションを構築する方法に焦点を当てます。
1. Spring Boot と JavaFX の概要
Spring Boot は、Spring フレームワークに基づく高速開発フレームワークです。これにより、開発者は、セキュリティ、データベース アクセスなどのすぐに使える機能コンポーネントのセットを提供しながら、Web アプリケーションを迅速に構築できるようになります。 Spring Boot はデスクトップ アプリケーションの構築にも使用できるため、開発者にはより多くの選択肢が提供されます。
JavaFX は、リッチ クライアント アプリケーションを構築するためのオープン ソース Java ライブラリです。レイアウト マネージャー、グラフィック描画など、GUI アプリケーションを構築するための多くの機能を提供します。 JavaFX は、マルチメディア、アニメーションなどのサポートなど、いくつかの追加機能も提供します。
これら 2 つのフレームワークを使用すると、デスクトップ アプリケーションをより簡単に構築でき、コードの品質が高くなります。次に Spring Boot と JavaFX を使用してデスクトップ アプリケーションを構築する方法を紹介します。
2. デスクトップ アプリケーションを構築する
まず、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 に必要なライブラリとリソースを提供します。これらの依存関係を追加した後、デスクトップ アプリケーションを起動するためのスタートアップ クラスを作成する必要があります。
ここで、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 クラスを作成する必要があることを意味します。
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!」を表示します。
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 サイトの他の関連記事を参照してください。