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/
    SpringBoot开发javaFX桌面程序-----环境配置(IDEA+javaFX库+JavaFX Scene Builder 2.0+Maven)_第1张图片
  • JavaFX Scene Builder 2.0(可视化工具,加速JavaFX图形界面的开发,强烈建议安装)
    JavaFX Scene Builder 2.0
    SpringBoot开发javaFX桌面程序-----环境配置(IDEA+javaFX库+JavaFX Scene Builder 2.0+Maven)_第2张图片

步骤

1.创建SpringBoot应用

SpringBoot开发javaFX桌面程序-----环境配置(IDEA+javaFX库+JavaFX Scene Builder 2.0+Maven)_第3张图片
SpringBoot开发javaFX桌面程序-----环境配置(IDEA+javaFX库+JavaFX Scene Builder 2.0+Maven)_第4张图片
然后。。。默认就行
完成:
SpringBoot开发javaFX桌面程序-----环境配置(IDEA+javaFX库+JavaFX Scene Builder 2.0+Maven)_第5张图片

调整目录
这里我把src设为源文件夹,创建view和controller包
SpringBoot开发javaFX桌面程序-----环境配置(IDEA+javaFX库+JavaFX Scene Builder 2.0+Maven)_第6张图片

2.配置JavaFX Scene Builder 2.0

文件>设置>语言和框架>javaFX
填入你的安装路径:
SpringBoot开发javaFX桌面程序-----环境配置(IDEA+javaFX库+JavaFX Scene Builder 2.0+Maven)_第7张图片

3.Maven依赖引入

pom.xml
推荐一个查询最新Maven的网站:https://mvnrepository.com/



<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.0modelVersion>
    <parent>
        <groupId>org.springframework.bootgroupId>
        <artifactId>spring-boot-starter-parentartifactId>
        <version>2.4.1version>
        <relativePath/> 
    parent>
    <groupId>com.rightstargroupId>
    <artifactId>javafxartifactId>
    <version>0.0.1-SNAPSHOTversion>
    <name>javafxname>
    <description>Demo project for Spring Bootdescription>

    <properties>
        <java.version>12java.version>
    properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starterartifactId>
        dependency>

        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-configuration-processorartifactId>
            <optional>trueoptional>
        dependency>
        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-testartifactId>
            <scope>testscope>
        dependency>
         
        <dependency>
            <groupId>de.roskenetgroupId>
            <artifactId>springboot-javafx-supportartifactId>
            <version>2.1.6version>
        dependency>

        
        <dependency>
            <groupId>org.openjfxgroupId>
            <artifactId>javafx-controlsartifactId>
            <version>16-ea+5version>
        dependency>
        <dependency>
            <groupId>org.openjfxgroupId>
            <artifactId>javafx-baseartifactId>
            <version>16-ea+5version>
        dependency>
        <dependency>
            <groupId>org.openjfxgroupId>
            <artifactId>javafx-fxmlartifactId>
            <version>16-ea+5version>
        dependency>
        <dependency>
            <groupId>org.openjfxgroupId>
            <artifactId>javafx-graphicsartifactId>
            <version>16-ea+5version>
        dependency>
        <dependency>
            <groupId>org.openjfxgroupId>
            <artifactId>javafx-webartifactId>
            <version>16-ea+5version>
        dependency>
        <dependency>
            <groupId>org.openjfxgroupId>
            <artifactId>javafx-swingartifactId>
            <version>16-ea+5version>
        dependency>
        <dependency>
            <groupId>org.openjfxgroupId>
            <artifactId>javafx-mediaartifactId>
            <version>16-ea+5version>
        dependency>
        
        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-maven-pluginartifactId>
            <version>2.4.1version>
        dependency>
        


    dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.bootgroupId>
                <artifactId>spring-boot-maven-pluginartifactId>
            plugin>

           
        plugins>
    build>

project>

4.编写第一个界面

  • 使用SceneBuilder 编写InitScene.fxml
    resource文件夹下创建InitScene.fxml文件,打开
    SpringBoot开发javaFX桌面程序-----环境配置(IDEA+javaFX库+JavaFX Scene Builder 2.0+Maven)_第8张图片
  • 添加一个Pane和Button
    SpringBoot开发javaFX桌面程序-----环境配置(IDEA+javaFX库+JavaFX Scene Builder 2.0+Maven)_第9张图片
    ctrl+s保存
    SpringBoot开发javaFX桌面程序-----环境配置(IDEA+javaFX库+JavaFX Scene Builder 2.0+Maven)_第10张图片
  • 编写绑定的InitSceneView类(继承AbstractFxmlView)
    SpringBoot开发javaFX桌面程序-----环境配置(IDEA+javaFX库+JavaFX Scene Builder 2.0+Maven)_第11张图片
package com.rightstar.view;

import de.felixroske.jfxsupport.AbstractFxmlView;
import de.felixroske.jfxsupport.FXMLView;

@FXMLView("/InitScene.fxml")
public class InitSceneView extends AbstractFxmlView {
     

}
  • 编写启动类JavafxApplication(继承AbstractJavaFxApplicationSupport)

SpringBoot开发javaFX桌面程序-----环境配置(IDEA+javaFX库+JavaFX Scene Builder 2.0+Maven)_第12张图片

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)

SpringBoot开发javaFX桌面程序-----环境配置(IDEA+javaFX库+JavaFX Scene Builder 2.0+Maven)_第13张图片
–module-path换成你安装的javaFXSDK路径,(示例):

--module-path "D:\javaTools\javafx-sdk-11.0.2\lib" --add-modules=javafx.controls,javafx.fxml 
  • 启动
    SpringBoot开发javaFX桌面程序-----环境配置(IDEA+javaFX库+JavaFX Scene Builder 2.0+Maven)_第14张图片
  • ok
    SpringBoot开发javaFX桌面程序-----环境配置(IDEA+javaFX库+JavaFX Scene Builder 2.0+Maven)_第15张图片

后言

欢迎继续关注作者后面的博文更新,后面我将更新如何使用SpringBoot+javaFX编写一个简单的文件树显示程序

你可能感兴趣的:(javaWeb,spring框架,java,spring,boot,spring)