• 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

  • 相关阅读:
    webApi2 结合uploadify 上传报错解决办法
    对特殊字符进行转移
    数据库事务MTDC出错解决办法
    查询数据所有的外键关系
    查询SQL阻塞语句
    Django介绍
    Docker简介
    Docker CE部署
    jQuery快速入门
    系统批量运维管理器paramiko详解
  • 原文地址:https://www.cnblogs.com/javalinux/p/14802978.html
Copyright © 2020-2023  润新知