当前位置: 首页 > article >正文

javaFX的使用

目录

javafx图形化界面软件安装

软件使用

JavaFX 的核心思想

项目组成:

javafx图形化界面使用

模块介绍

布局

​编辑

一个小案例

其他操作

UI控件

问题:缺少 JavaFX 运行时组件

原因:jdk 11 后,JavaFX 包被剥离出来了,创建 Java Applicattion 时需要手动添加依赖包,添加 VM options参数

 解决:


javafx图形化界面软件安装

Scene Builder - Gluon 官网下载新版即可

软件使用

JavaFX 的核心思想

每个 JavaFX 应用程序都必须继承自 Application 类,并且需要满足以下条件:子类必须声明为 public,同时必须提供一个公共的无参数构造函数。JavaFX 应用程序的启动过程遵循以下步骤:

  1. 启动 JavaFX 运行时环境:这是 JavaFX 应用程序运行的基础。
  2. 创建 Application 类的实例:系统会实例化你的应用程序类。
  3. 调用 init() 方法:在启动主线程之前,会先执行 init() 方法,用于初始化资源或执行一些准备工作。
  4. 调用 start(Stage) 方法:这是应用程序的主入口点,会创建一个初始窗口(Stage)并设置场景(Scene)。
  5. 等待应用程序结束:JavaFX 应用程序会持续运行,直到满足以下条件之一:
    • 显式调用 Platform.exit() 方法。
    • 最后一个窗口被关闭,并且 implicitExit 属性为 true
  6. 调用 stop() 方法:在应用程序完全退出之前,会执行 stop() 方法,用于释放资源或执行清理操作。

通过这种方式,JavaFX 确保了应用程序的生命周期清晰可控,同时提供了灵活的线程模型来支持图形界面的高效渲染和用户交互。

项目组成:

一个javafx项目包括:

一个Main.java(javafx入口文件)

多个FXML文件(多个展示的页面)

多个Controller文件(用来控制事件交互的文件)

javafx图形化界面使用

JavaFX Scene Builder 是一个可视化布局工具,用于快速设计和构建 JavaFX 应用程序的用户界面(UI)。它允许开发者通过拖拽组件(如按钮、标签、文本框等)来创建复杂的界面,而无需手动编写 FXML 或 Java 代码。

打开JavaFX Scene Builder后将idea上的FXML文件拖动到JavaFX Scene Builder上打开JavaFX Scene Builder

模块介绍

主要分为四个区域元素对象选择区(元素库)、预览展示区、控件属性区域、层次结构区。
在这里插入图片描述

布局

   打开一个页面一般都要新建一个布局容器,所有的组件只能放在布局容器上

放置一个简单的button按钮后,按ctrl+s保存修改

这时对应的fxml文件会自动发生变化:

 一般组件最常用的就是fx:id和On Action

fx:id(定义组件唯一id,用来操纵某个组件,一个页面里id唯一不可重复)

 On Action:设置组件的点击事件

 

一个小案例

这里设置了button按钮的id和点击事件,ctrl+s保存好后,点击视图显示示例控制器骨架,可直接复制相关的id和事件

展示效果:

其他操作

关闭窗口:

切换窗口

 

UI控件

Scene Builder 详细的教程以及各种组件,方法,属性的使用可看博客:JavaFX之Scene Builder详细使用说明之组件篇(2)——常用组件-CSDN博客

博客专栏大概有十篇左右,可挑选自己有用的看。

问题:缺少 JavaFX 运行时组件

原因:jdk 11 后,JavaFX 包被剥离出来了,创建 Java Applicattion 时需要手动添加依赖包,添加 VM options参数

 解决:

手动下载jar包(注意版本要>=自己的java版本,系统位数)

下载完解压后点击项目结构:

 点击模块,导入库

选择新建库,然后导入刚才解压的文件下的lib文件夹

 

 之后添加所选项,勾选,应用,确定

 再之后打开编辑配置,点击修改选项,添加虚拟机选项

将这串命令输入(红色部分填写自己的路径)

--module-path "D:\javafx\openjfx-22_windows-x64_bin-sdk\javafx-sdk-22\lib" --add-modules javafx.controls,javafx.fxml 

 

即可运行:


http://www.kler.cn/a/594619.html

相关文章:

  • 市场上具备自动化营销功能的进销存软件推荐
  • Spring Boot 3 新特性实战:从理论到实践
  • vsftpd服务权限配置
  • 前后端项目
  • 模型空间、图纸空间、布局(Layout)之间联系——CAD c#二次开发
  • Node.js中SerialPort(串口)模块使用详解
  • debian11安装MongoDB
  • 美摄接入DeepSeek等大模型,用多模态融合重构视频创作新边界!
  • NLua 文档
  • 《模型思维》第二十三章 “与集体行动有关的问题” 总结
  • 华为NAS真实测评!
  • 基于Spring Boot的售楼管理系统的设计与实现(LW+源码+讲解)
  • Python(正则表达式)
  • JAVA多线程中的单例模式
  • DeepSeek Chat 自动化交互技术分析
  • Hugging Face 模型格式全解析:从 PyTorch 到 GGUF
  • springboot Actuator 指标分析
  • 服务安全认证概述与基础认证方式
  • Buuctf [极客大挑战 2019]FinalSQL
  • 计算机图形学学习日志4