搭建JavaFX Scene Builder环境
- 介绍
JavaFX Scene Builder是一种可视布局工具,允许用户快速设计JavaFX应用程序用户界面,而无需编码。用户可以将UI组件拖放到工作区,修改其属性,应用样式表,并且它们正在创建的布局的FXML代码将在后台自动生成。它的结果是一个FXML文件,然后可以通过绑定到应用程序的逻辑与Java项目组合。
- 下载安装
打开链接:https://www.oracle.com/technetwork/java/javase/downloads/javafxscenebuilder-1x-archive-2199384.html ,选择最新的下载
![8119752cd7ce6d17a6d5cc1a29f1e677.png](https://img-blog.csdnimg.cn/img_convert/8119752cd7ce6d17a6d5cc1a29f1e677.png)
我下载的是javafx_scenebuilder-2_0-windows.msi,下载之后进行安装,安装好之后,桌面会有个这样的图标
![dbce3ee5f766d5e4cfef436da4e4a98b.png](https://img-blog.csdnimg.cn/img_convert/dbce3ee5f766d5e4cfef436da4e4a98b.png)
双击启动软件,启动好之后的界面如下图所示
![4053dc34284656ca5b36601471aade2c.png](https://img-blog.csdnimg.cn/img_convert/4053dc34284656ca5b36601471aade2c.png)
上图左侧是组件,中间是放组件的面板,右侧为组件的属性
- 配置Scene Builder
IDEA中启用JavaFX 插件:使用快捷键:Ctrl+Alt+S打开settings面板,点击plugins(插件),然后搜索javaFx,启动javaFx插件,然后重启IDEA生效配置.
![e6bd7d36a4e237faf69755a0be35447e.png](https://img-blog.csdnimg.cn/img_convert/e6bd7d36a4e237faf69755a0be35447e.png)
IDEA设置Scene Builder的可执行文件的路径:Ctrl+Alt+S,搜索JavaFX,配置本地安装路径.
![e9569c9a0af2a59b220a4a4ee5f1939f.png](https://img-blog.csdnimg.cn/img_convert/e9569c9a0af2a59b220a4a4ee5f1939f.png)
这样我们第一步配置JavaFX Scene Builder环境就完成了.
搭建springboot+javaFX项目
我使用spring脚手架快速搭建项目(这里省略)
项目结构
![4776d23187fe37239ccf3af9512e04d9.png](https://img-blog.csdnimg.cn/img_convert/4776d23187fe37239ccf3af9512e04d9.png)
导入jar包
de.roskenet springboot-javafx-support 2.1.6de.roskenet springboot-javafx-test 1.3.0test
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;@FXMLControllerpublic 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;@SpringBootApplicationpublic 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.*?>
启动完成界面
![225a1b62ee9ef7daa21687e88cbf71fd.png](https://img-blog.csdnimg.cn/img_convert/225a1b62ee9ef7daa21687e88cbf71fd.png)
这里只做了简单的环境安装和项目搭建,看完觉得还不错可以关注一下!欢迎转发,点赞!