前言
最近在學習SpringBoot和javaFX,准備做個小項目練練手,本文章記錄一下使用SpringBoot開發javaFX的環境配置。
准備
IDEA
JDK11以上(在JDK11里面將Java FX獨立開了,所以要使用JDK11開發JavaFX應用就要將相關的庫導入)
javaFX庫:
https://gluonhq.com/products/javafx/

JavaFX Scene Builder 2.0(可視化工具,加速JavaFX圖形界面的開發,強烈建議安裝)
JavaFX Scene Builder 2.0

步驟
1.創建SpringBoot應用


然后。。。默認就行
完成:

調整目錄
這里我把src設為源文件夾,創建view和controller包

2.配置JavaFX Scene Builder 2.0
文件>設置>語言和框架>javaFX
填入你的安裝路徑:

3.Maven依賴引入
pom.xml
推薦一個查詢最新Maven的網站:https://mvnrepository.com/
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.4.1</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.rightstar</groupId>
<artifactId>javafx</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>javafx</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>12</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!--springBoot-javaFX支持 這個庫比較重要-->
<dependency>
<groupId>de.roskenet</groupId>
<artifactId>springboot-javafx-support</artifactId>
<version>2.1.6</version>
</dependency>
<!--javaFX依賴-->
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-controls</artifactId>
<version>16-ea+5</version>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-base</artifactId>
<version>16-ea+5</version>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-fxml</artifactId>
<version>16-ea+5</version>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-graphics</artifactId>
<version>16-ea+5</version>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-web</artifactId>
<version>16-ea+5</version>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-swing</artifactId>
<version>16-ea+5</version>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-media</artifactId>
<version>16-ea+5</version>
</dependency>
<!--maven擴展依賴 和打包工具-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.4.1</version>
</dependency>
<!--
報錯先不用
<dependency>
<groupId>com.zenjava</groupId>
<artifactId>javafx-maven-plugin</artifactId>
<version>8.8.3</version>
</dependency>
-->
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<!-- <plugin>
<groupId>com.zenjava</groupId>
<artifactId>javafx-maven-plugin</artifactId>
<version>8.8.3</version>
<configuration>
<mainClass>rightstar.MainSpringBoot.main</mainClass>
</configuration>
</plugin>-->
</plugins>
</build>
</project>
4.編寫第一個界面
使用SceneBuilder 編寫InitScene.fxml
resource文件夾下創建InitScene.fxml文件,打開

添加一個Pane和Button

ctrl+s保存

編寫綁定的InitSceneView類(繼承AbstractFxmlView)

package com.rightstar.view;
import de.felixroske.jfxsupport.AbstractFxmlView;
import de.felixroske.jfxsupport.FXMLView;
@FXMLView("/InitScene.fxml")
public class InitSceneView extends AbstractFxmlView {
}
編寫啟動類JavafxApplication(繼承AbstractJavaFxApplicationSupport)

package com.rightstar;
import com.rightstar.view.InitSceneView;
import de.felixroske.jfxsupport.AbstractJavaFxApplicationSupport;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class JavafxApplication extends AbstractJavaFxApplicationSupport {
public static void main(String[] args) {
//改成launch方法,
launch(JavafxApplication.class, InitSceneView.class,args);
}
}
啟動(重點需要配置VM)

–module-path換成你安裝的javaFXSDK路徑,(示例):
--module-path "D:\javaTools\javafx-sdk-11.0.2\lib" --add-modules=javafx.controls,javafx.fxml
啟動

ok

后言
歡迎繼續關注作者后面的博文更新,后面我將更新如何使用SpringBoot+javaFX編寫一個簡單的文件樹顯示程序
————————————————
版權聲明:本文為CSDN博主「RightStar_」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/qq_33886316/article/details/111146522
