JAVAFX 项目 SpringBoot 最简单的集成

1,JAVA 版本 JDK 1.8

2,首先我们创建一个 springboot 的空项目,只添加以下的依赖

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>

3,写一个 JAVA FX 最基本程序,设置了一些窗体属性

package com.hwq.desktop.fx;

import javafx.application.Application;
import javafx.scene.image.Image;
import javafx.stage.Stage;
import javafx.stage.StageStyle;

public class Main extends Application {

    /**
     * 程序初始化,这里可以初始化一些数据
     */
    @Override
    public void init() throws Exception {
        super.init();
    }

    /**
     * 程序关闭时,这里可以做关闭的确认等
     */
    @Override
    public void stop() throws Exception {
        super.stop();
    }

    /**
     * 开启窗口时,所有的 UI 程序写在这里
     * @param primaryStage 窗口对象
     */
    @Override
    public void start(Stage primaryStage) throws Exception {

        // 设置程序在菜单栏 和左上角 显示的图标,以及标题
        primaryStage.getIcons().add(new Image("/img/logo.png"));
        primaryStage.setTitle("JavaFX");

        // 设置窗体宽高
        primaryStage.setWidth(1200);
        primaryStage.setHeight(600);

        // 设置窗口模式
        primaryStage.initStyle(StageStyle.DECORATED);

        // 显示窗口
        primaryStage.show();
    }

}

4,修改 SpringBoot 启动类,让他以命令行的形式启动,而不是以 web 的形式启动

package com.hwq.desktop;

import com.hwq.desktop.fx.Main;
import javafx.application.Application;
import org.springframework.boot.Banner;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class DesktopApplication implements CommandLineRunner {

    /**
     * SpringBoot 的入口,这里关闭了启动时会出现的 banner 图形
     * @param args 启动时输入的参数
     */
    public static void main(String[] args) throws Exception {
        SpringApplication app = new SpringApplication(DesktopApplication.class);
        app.setBannerMode(Banner.Mode.OFF);
        app.run(args);
    }

    /**
     * SpringBoot 初始化完成后立即执行该方法,在这里制定窗体程序的入口类
     * @param args 启动时输入的参数
     */
    @Override
    public void run(String[] args) throws Exception {
        System.out.println("SpringBoot 桌面应用");
        Application.launch(Main.class, args);
    }

}

5,启动项目,效果如下

 

转载于:https://www.cnblogs.com/lovling/p/11337904.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JavaFX和Spring Boot都是流行的Java框架,用于构建桌面应用和Web服务。将它们整合在一起可以让你在一个项目中同时利用Spring Boot的轻量级架构和JavaFX的图形用户界面能力。以下是一些关键步骤来集成JavaFX到Spring Boot应用: 1. **添加依赖**: 在`pom.xml`文件中添加JavaFX和Spring Boot的依赖,对于Spring Boot 2.x及以上版本: ```xml <dependencies> <!-- Spring Boot核心依赖 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> <!-- 添加JavaFX相关依赖 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-fxml</artifactId> <!-- 对于FXML布局的支持 --> </dependency> <dependency> <groupId>org.openjfx</groupId> <artifactId>javafx-controls</artifactId> <!-- JavaFX控件 --> <version>${springfox.version}</version> <!-- 使用JavaFX的特定版本 --> </dependency> <dependency> <groupId>org.openjfx</groupId> <artifactId>javafx.fxml</artifactId> <version>${springfox.version}</version> </dependency> </dependencies> ``` 2. **创建JavaFX Controller**: 创建一个JavaFX的Controller类,通常继承自`javafx.fxml.FXMLLoader`的子类,并使用`@FXML`注解映射FXML文件中的组件。 3. **配置启动类**: 在`Application`或`SpringBootApp`类中,使用`@EnableAutoConfiguration`和`@SpringBootApplication`注解,同时添加`main`方法,这样Spring Boot会自动扫描并启动JavaFX应用。 4. **运行主程序**: 使用Spring Boot的`SpringApplication.run()`方法启动应用程序,或者通过`gradle run`或`mvn spring-boot:run`命令。 相关问题: 1. 如何在Spring Boot中注册JavaFX的初始化? 2. Spring Boot如何处理JavaFX的生命周期管理? 3. 如何在Spring Boot应用中加载和访问FXML文件?

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值