百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术分类 > 正文

搭建springboot+javaFX项目 搭建spring boot项目

ztj100 2024-12-30 08:18 72 浏览 0 评论

搭建JavaFX Scene Builder环境

  • 介绍

JavaFX Scene Builder是一种可视布局工具,允许用户快速设计JavaFX应用程序用户界面,而无需编码。用户可以将UI组件拖放到工作区,修改其属性,应用样式表,并且它们正在创建的布局的FXML代码将在后台自动生成。它的结果是一个FXML文件,然后可以通过绑定到应用程序的逻辑与Java项目组合。

  • 下载安装

打开链接:https://www.oracle.com/technetwork/java/javase/downloads/javafxscenebuilder-1x-archive-2199384.html ,选择最新的下载

我下载的是javafx_scenebuilder-2_0-windows.msi,下载之后进行安装,安装好之后,桌面会有个这样的图标


双击启动软件,启动好之后的界面如下图所示


上图左侧是组件,中间是放组件的面板,右侧为组件的属性

  • 配置Scene Builder

IDEA中启用JavaFX 插件:使用快捷键:Ctrl+Alt+S打开settings面板,点击plugins(插件),然后搜索javaFx,启动javaFx插件,然后重启IDEA生效配置.

IDEA设置Scene Builder的可执行文件的路径:Ctrl+Alt+S,搜索JavaFX,配置本地安装路径.

这样我们第一步配置JavaFX Scene Builder环境就完成了.

搭建springboot+javaFX项目

我使用spring脚手架快速搭建项目(这里省略)

项目结构

导入jar包

<dependency>
    <groupId>de.roskenet</groupId>
    <artifactId>springboot-javafx-support</artifactId>
    <version>2.1.6</version>
</dependency>


<dependency>
    <groupId>de.roskenet</groupId>
    <artifactId>springboot-javafx-test</artifactId>
    <version>1.3.0</version>
    <scope>test</scope>
</dependency>

LoginController:

package com.javafx.demo.controller;

import de.felixroske.jfxsupport.FXMLController;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.control.Button;
import javafx.scene.control.PasswordField;
import javafx.scene.control.TextField;

import java.net.URL;
import java.util.ResourceBundle;

@FXMLController
public class LoginController implements Initializable {

    @FXML
    private TextField userNameField;

    @FXML
    private Button registerBut;

    @FXML
    private Button loginBut;

    @FXML
    private PasswordField passwordField;

    @FXML
    void login(ActionEvent event) {
        System.out.println("login");
      	//这里编写业务逻辑
	
    }

    @FXML
    void register(ActionEvent event) {
        System.out.println("register");
        //这里编写业务逻辑
    }

    @Override
    public void initialize(URL location, ResourceBundle resources) {

    }
}

MainLogin:

package com.javafx.demo.views;

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

@FXMLView(value = "/views/MainLogin.fxml")
public class MainLogin extends AbstractFxmlView {

}

DemoApplication:

package com.javafx.demo;

import com.javafx.demo.views.MainLogin;
import de.felixroske.jfxsupport.AbstractJavaFxApplicationSupport;
import javafx.stage.Stage;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class DemoApplication extends AbstractJavaFxApplicationSupport {

    public static void main(String[] args) {
        launch(DemoApplication.class, MainLogin.class, args);
    }

    @Override
    public void start(Stage stage) throws Exception {
        super.start(stage);
    }
    
}

MainLogin.fxml:

<?xml version="1.0" encoding="UTF-8"?>

<?import javafx.scene.text.*?>
<?import java.lang.*?>
<?import java.util.*?>
<?import javafx.scene.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>


<AnchorPane prefHeight="250.0" prefWidth="400.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.javafx.demo.controller.LoginController">
   <children>
      <TextField fx:id="userNameField" layoutX="144.0" layoutY="87.0" />
      <PasswordField fx:id="passwordField" layoutX="144.0" layoutY="139.0" />
      <Text layoutX="76.0" layoutY="155.0" strokeType="OUTSIDE" strokeWidth="0.0" text="密码:" />
      <Text layoutX="70.0" layoutY="103.0" strokeType="OUTSIDE" strokeWidth="0.0" text="用户名:" />
      <Button fx:id="loginBut" layoutX="218.0" layoutY="190.0" mnemonicParsing="false" onAction="#login" text="登录" />
      <Button fx:id="registerBut" layoutX="99.0" layoutY="190.0" mnemonicParsing="false" onAction="#register" text="注册" />
   </children>
</AnchorPane>

启动完成界面

这里只做了简单的环境安装和项目搭建,看完觉得还不错可以关注一下!欢迎转发,点赞!

相关推荐

离谱!写了5年Vue,还不会自动化测试?

前言大家好,我是倔强青铜三。是一名热情的软件工程师,我热衷于分享和传播IT技术,致力于通过我的知识和技能推动技术交流与创新,欢迎关注我,微信公众号:倔强青铜三。Playwright是一个功能强大的端到...

package.json 与 package-lock.json 的关系

模块化开发在前端越来越流行,使用node和npm可以很方便的下载管理项目所需的依赖模块。package.json用来描述项目及项目所依赖的模块信息。那package-lock.json和...

Github 标星35k 的 SpringBoot整合acvtiviti开源分享,看完献上膝盖

前言activiti是目前比较流行的工作流框架,但是activiti学起来还是费劲,还是有点难度的,如何整合在线编辑器,如何和业务表单绑定,如何和系统权限绑定,这些问题都是要考虑到的,不是说纯粹的把a...

Vue3 + TypeScript 前端研发模板仓库

我们把这个Vue3+TypeScript前端研发模板仓库的初始化脚本一次性补全到可直接运行的状态,包括:完整的目录结构所有配置文件研发规范文档示例功能模块(ExampleFeature)...

Vue 2迁移Vue 3:从响应式到性能优化

小伙伴们注意啦!Vue2已经在2023年底正式停止维护,再不升级就要面临安全漏洞没人管的风险啦!而且Vue3带来的性能提升可不是一点点——渲染速度快40%,内存占用少一半,更新速度直接翻倍!还在...

VUE学习笔记:声明式渲染详解,对比WEB与VUE

声明式渲染是指使用简洁的模板语法,声明式的方式将数据渲染进DOM系统。声明式是相对于编程式而言,声明式是面向对象的,告诉框架做什么,具体操作由框架完成。编程式是面向过程思想,需要手动编写代码完成具...

苏州web前端培训班, 苏州哪里有web前端工程师培训

前端+HTML5德学习内容:第一阶段:前端页面重构:PC端网站布局、HTML5+CSS3基础项目、WebAPP页面布局;第二阶段:高级程序设计:原生交互功能开发、面向对象开发与ES5/ES6、工具库...

跟我一起开发微信小程序——扩展组件的代码提示补全

用户自定义代码块步骤:1.HBuilderX中工具栏:工具-代码块设置-vue代码块2.通过“1”步骤打开设置文件...

JimuReport 积木报表 v1.9.3发布,免费可视化报表

项目介绍积木报表JimuReport,是一款免费的数据可视化报表,含报表、大屏和仪表盘,像搭建积木一样完全在线设计!功能涵盖:数据报表、打印设计、图表报表、门户设计、大屏设计等!...

软开企服开源的无忧企业文档(V2.1.3)产品说明书

目录1....

一款面向 AI 的下一代富文本编辑器,已开源

简介AiEditor是一个面向AI的下一代富文本编辑器。开箱即用、支持所有前端框架、支持Markdown书写模式什么是AiEditor?AiEditor是一个面向AI的下一代富文本编辑...

玩转Markdown(2)——抽象语法树的提取与操纵

上一篇玩转Markdown——数据的分离存储与组件的原生渲染发布,转眼已经鸽了大半年了。最近在操纵mdast生成md文件的时候,心血来潮,把玩转Markdown(2)给补上了。...

DeepseekR1+ollama+dify1.0.0搭建企业/个人知识库(入门避坑版)

找了网上的视频和相关文档看了之后,可能由于版本不对或文档格式不对,很容易走弯路,看完这一章,可以让你少踩三天的坑。步骤和注意事项我一一列出来:1,前提条件是在你的电脑上已配置好ollama,dify1...

升级JDK17的理由,核心是降低GC时间

升级前后对比升级方法...

一个vsCode格式化插件_vscode格式化插件缩进量

ESlint...

取消回复欢迎 发表评论: