javaFX,scene Builder入门
介绍:
java开发桌面程序
前言:
jdk1.8
开发软件:idea
maven项目
一、环境准备
1、下载安装scene builder
根据实际情况下载对应版本的
2、idea配置scene builder
我这里scene builder 默认目录:C:\Program Files (x86)\Oracle\JavaFX Scene Builder 2.0\JavaFX Scene Builder 2.0.exe
根据自己的安装目录进行配置
二、创建一个Maven项目
idea创建简单maven项目java - hehehenhen - 博客园 (cnblogs.com)
文件最终目录结构:
1、导入依赖:
<dependency> <groupId>org.openjfx</groupId> <artifactId>javafx-controls</artifactId> <version>17.0.1</version> </dependency> <dependency> <groupId>org.openjfx</groupId> <artifactId>javafx-fxml</artifactId> <version>17.0.1</version> </dependency>
2、新建页面:fxml
文件目录结构:
3、新建控制器:
DemoController
package com.sample; import javafx.fxml.FXML; import javafx.fxml.Initializable; import javafx.scene.control.TextField; import java.net.URL; import java.util.ResourceBundle; /** * @author lanpengbiao * @version 1.0 * @Description Demo * @date Created in 2023-5-6 15:53 * @since jdk1.7 */ public class DemoController implements Initializable { public void initialize(URL location, ResourceBundle resources) { } }
4、控制器与页面关联
<?xml version="1.0" encoding="UTF-8"?> <?import javafx.scene.layout.*?> <AnchorPane prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.sample.DemoController"> <children> </children> </AnchorPane>
5、编辑页面:
右击fxml文件在sceneBuilder中打开
拖动控件构建页面:
填报lable
添加文本框 textfield :
声明 fx:id ,对应控制器中的属性
5、编辑控制器:
创建页面属性:
优化页面属性:
将属性私有化,并加注解@FXML:
没有注解页面无法与控制器绑定
package com.sample; import javafx.fxml.FXML; import javafx.fxml.Initializable; import javafx.scene.control.TextField; import java.net.URL; import java.util.ResourceBundle; /** * @version 1.0 * @Description Demo * @date Created in 2023-5-6 15:53 * @since jdk1.7 */ public class DemoController implements Initializable { @FXML private TextField userName; @FXML private TextField age; public void initialize(URL location, ResourceBundle resources) { //在初始化方法中对页面元素进行初始化 age.setText("23"); } }
6、编写启动类
package com.sample; import javafx.application.Application; import javafx.fxml.FXMLLoader; import javafx.scene.Parent; import javafx.scene.Scene; import javafx.stage.Stage; /** * @version 1.0 * @Description DemoTest * @date Created in 2023-5-6 16:05 * @since jdk1.8 */ public class DemoTest extends Application { public void start(Stage primaryStage) throws Exception { Parent root = FXMLLoader.load(getClass().getResource("/view/sample/Demo.fxml")); primaryStage.setTitle("Hello World"); primaryStage.setScene(new Scene(root, 300, 275)); primaryStage.show(); } public static void main(String[] args) { launch(DemoTest.class); } }
运行效果:
7、打包
java程序jar包打包成exe文件 - hehehenhen - 博客园 (cnblogs.com)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)