(三)创建基于maven的javaFX+springboot项目创建
程序员文章站
2022-05-18 22:01:53
创建基于maven的javaFx+springboot项目有两种方式,第一种为通过非编码的方式来设计UI集成springboot;第二种为分离用户界面(UI)和后端逻辑集成springboot,其中用户界面为fxml文件。 maven依赖 创建StartMain类,并继承Application 项目 ......
创建基于maven的javafx+springboot项目有两种方式,第一种为通过非编码的方式来设计ui集成springboot;第二种为分离用户界面(ui)和后端逻辑集成springboot,其中用户界面为fxml文件。
maven依赖
<dependency> <groupid>org.springframework.boot</groupid> <artifactid>spring-boot-starter-actuator</artifactid> <version>${spring.boot.version}</version> </dependency> <dependency> <groupid>org.springframework.boot</groupid> <artifactid>spring-boot-starter</artifactid> <version>${spring.boot.version}</version> </dependency> <dependency> <groupid>de.roskenet</groupid> <artifactid>springboot-javafx-support</artifactid> <version>${springboot-javafx-support.version}</version> </dependency>
创建startmain类,并继承application
import javafx.application.application; import javafx.geometry.insets; import javafx.scene.group; import javafx.scene.scene; import javafx.scene.control.button; import javafx.scene.control.label; import javafx.scene.layout.gridpane; import javafx.scene.layout.hbox; import javafx.stage.stage; import org.springframework.boot.commandlinerunner; import org.springframework.boot.springapplication; import java.util.objects; import java.util.function.consumer; /** * maven构建javafx项目启动类 */ public class startmain extends application implements commandlinerunner, consumer<stage> { /** * 窗口启动接口,原理: * 1. run(string... args)中给springstartmain赋值 * 2. start(stage primarystage)中调用了springstartmain来操作primarystage * 3. 而springstartmain实际上是spring管理的startmain一个对象,因此accept方法中可以操作spring管理的任何对象 */ private static consumer<stage> springstartmain; private final button btnstart = new button("开 始"); @override public void accept(stage stage) { final gridpane gridpane = new gridpane(); gridpane.setprefwidth(700); gridpane.setpadding(new insets(10, 10, 10, 10)); gridpane.setvgap(10); gridpane.sethgap(10); btnstart.setstyle("-fx-padding: 10;-fx-end-margin:20;"); hbox hbox1 = new hbox(); hbox1.getchildren().addall(btnstart); hbox1.setspacing(20); gridpane.addrow(2, new label(), hbox1); //页面 group root = new group(); scene scene = new scene(root, 720, 500); scene.setroot(gridpane); //设置标题 stage.settitle("hello world"); //stage的标题将会是hello stage.setscene(scene); stage.show(); } @override public void start(stage primarystage) throws exception { springstartmain.accept(primarystage); } @override public void run(string... args) throws exception { springstartmain = objects.requirenonnull(this); } public static void main(string[] args) { //启动spring-boot springapplication.run(startmain.class, args); //启动窗口 application.launch(args); } }
项目结构如下:
推荐阅读
-
基于maven使用IDEA创建多模块项目
-
创建基于ASP.NET core 3.1 的RazorPagesMovie项目(一)-创建和使用默认的模板
-
创建基于ASP.NET core 3.1 的RazorPagesMovie项目(三)-已搭建基架的Razor页面解释和更新
-
JAVA WEB快速入门之从编写一个基于SpringBoot+Mybatis快速创建的REST API项目了解SpringBoot、SpringMVC REST API、Mybatis等相关知识
-
(三)创建基于maven的javaFX+springboot项目创建
-
在eclipse中使用Maven分模块搭建SSM框架,创建jar、war、pom工程模块教学,项目的热部署,需要的可以留下邮箱,给大家发整理过的Maven笔记
-
(四)创建基于maven的javaFX+springboot项目,用户界面与后台逻辑分离方式
-
idea创建maven项目速度慢?别急,这有三种方案
-
Maven 项目在 Eclipse 的创建配置
-
(二)创建基于maven的javaFX项目