SpringBoot開發javaFX桌面程序-----環境配置(IDEA+javaFX庫+JavaFX Scene Builder 2.0+Maven)


前言
最近在學習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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM