JavaFX的安装和使用

news2024/9/27 9:30:22

JavaFX的安装

安装可以参考:IDEA安装JavaFx_idea2019 javafx 下载安装-CSDN博客

JavaFX的使用

在JavaFX中,类的成员函数和操作本身被模式化作为在目标类中的类,而参数和返回值被表示为属性。代表目标对象的属性名是“this”。代表返回值的属性名为“return”。代表形参的属性具有和形参相同的属性名。而目标对象则指使用成员函数和操作的对象也可以从Class对象中获取相同的、被反射的操作。被反射的操作能够像函数那样通过将目标对象作为第一个参数、其它参数作为后面的参数的方式被调用。

一个简单的能运行的Javafx页面包括:

  • 一个Java文件(HelloApplication.java,主程序入口)
  • 一个FMXL文件(HelloView.fxml,主界面布局)
  • 一个Controller文件(HelloViewController.java,控制界面交互事件的处理)

使用FXML文件编写前台界面(借助JavaFX Scene Builder),使用FXMLLoader类将FXML文件绑定到主程序。
使用一个Controller类和里面的@FXML注解将操作的逻辑绑定到FXML文件中的界面元素。(@FXML注解用于说明该变量或者方法可以在FXML文件中进行访问,对应的这个属性或者方法是和fxml文件中对应着的)
在FXML文件中使用fx:id属性声明界面元素的id,在Controller类中以相同的名称定义该元素。onAction属性值给定以#号开头的事件处理函数名称,在Controller类中实现该函数。

.fxml文件是什么?

FXML是一种以XML的格式表示JavaFX界面对象的文件,FXML文件中的每一个元素可以映射到JavaFX中的一个类,每个FXML元素的属性或者其子元素都可以映射为该对应JavaFXML类的属性。

.fxml文件中的内容需要自己敲代码吗?

不需要,借助JavaFX Scene Builder,可以通过拖拽相应的组件组成页面。

每个JavaFX应用都继承自Application类(子类必须声明为public,并且必须有一个公共的无参数构造函数)。当JavaFX应用启动时,会按顺序执行以下步骤:

  1. 启动JavaFX运行时环境。
  2. 构造Application类的实例。
  3. 执行init()方法。
  4. 执行 start(javafx.stage.Stage) 方法。
  5. 等待JavaFX应用程序完成,直到出现以下两种情况停止等待:
  6. 调用Platform.exit()方法
  7. 最后一个窗口关闭并且implicitExit属性为true
  8. 执行stop()方法。

 主程序入口

public class HelloApplication extends Application {
    // 加载 helloView.fxml 文件并创建场景
    @Override
    public void start(Stage stage) throws IOException {
        // 加载 HelloView.fxml 文件并创建场景
        FXMLLoader fxmlLoader = new FXMLLoader(HelloApplication.class.getResource("HelloView.fxml"));
        Scene scene = new Scene(fxmlLoader.load(), 320, 240);
        stage.setTitle("Hello!");
        stage.setScene(scene);
        stage.show();
    }
    //应用程序的入口点,启动 JavaFX 应用程序
    public static void main(String[] args) {
        launch();
    }
}

Scene Builder开发

先创建一个.fxml文件,还要创建一个这个页面对应的控制类

 可视化操作区域:从上到下依次为基本属性设置、视图属性设置、和代码设置

常用的控件:textfiled(文本输入框)、button(按钮),ImageView(图片视图) 

 

左下角是图层选项,可以通过拖拽控件的前后顺序,改变控件的层叠等级

基本属性内可以设置文字大小、颜色,背景颜色等一些基础属性 

代码属性里面,常用的是id和on action

fx:id设置控件的唯一标识(在一个页面里面不可重复)

On Action 设置控件的点击事件

布局控件(先考虑好要用哪个)

  • 使用VBox垂直排列
  • 使用HBox水平排列
  • 使用BorderPane布局顶部,底部,左,右或中心区域中的子节点。
  • 使用GridPane布局网格窗格排列

一般用到的多的是VBox和HBox,可以先了解一下再使用

组件控件大小

可以手动拖拽组件大小,也可以在右边对应位置输入长宽

可以选择固定大小还是动态大小,这个项目一般会使用固定大小

事件选择

考虑控件的触发事件,是鼠标点击,还是选择,不同的控件的事件不一样,有些事件还需要在代码里面自己监听,如选择框的选择事件

简单的窗口操作

关闭窗口

切换窗口(先关闭再打开,有需要的话可以不关闭原先的窗口) 

初始化窗口,实现Initializable接口(用于一打开页面就需要渲染的情况)

4.1晚上授课(授课前把javafx环境配置好,idea添加javafx)

4.2晚上画好登录注册页面发在大群 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1551334.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【C++初阶】之类和对象(中)

【C初阶】之类和对象(中) ✍ 类的六个默认成员函数✍ 构造函数🏄 为什么需要构造函数🏄 默认构造函数🏄 为什么编译器能自动调用默认构造函数🏄 自己写的构造函数🏄 构造函数的特性 ✍ 拷贝构造…

经纬恒润RTaW-Pegase:车载网络通信建模与时间特性分析工具

▎RTaW简介 RTaW-Pegase是由法国国家信息与自动化研究所(INRIA)旗下的RTaW公司开发的产品。它主要用于构建和优化汽车、航空航天以及工业领域的通信网络,包括时间敏感网络(TSN)、CAN(FD,XL&…

【系统架构师】-第12章-信息系统架构

信息系统架构(ISA)是指对某一特定内容里的信息进行统筹、规划、设计、安排等一系列有机处理的活动。 为了更好地理解信息系统架构的定义, 特作如下说明: (1)架构是对系统的抽象,它通过描述元素、元素的外部可见属性及元素之间的关系来反映这种抽象。因此…

【QT入门】 Qt代码创建布局之水平布局、竖直布局详解

往期回顾: 【QT入门】 Qt实现自定义信号-CSDN博客 【QT入门】 Qt自定义信号后跨线程发送信号-CSDN博客 【QT入门】 Qt内存管理机制详解-CSDN博客 【QT入门】 Qt代码创建布局之水平布局、竖直布局详解 先看两个问题: 1、ui设计器设计界面很方便&#xf…

PyQT5学习--新建窗体模板

目录 1 Dialog 2 Main Window 3 Widget Dialog 模板,基于 QDialog 类的窗体,具有一般对话框的特性,如可以模态显示、具有返回值等。 Main Window 模板,基于 QMainWindow 类的窗体,具有主窗口的特性,窗口…

计算机网络基础——网络安全/ 网络通信介质

chapter3 网络安全与管理 1. 网络安全威胁 网络安全:目的就是要让网络入侵者进不了网络系统,及时强行攻入网络,也拿不走信息,改不了数据,看不懂信息。 事发后能审查追踪到破坏者,让破坏者跑不掉。 网络…

Composer常见错误解决

Composer 是 PHP 开发中常用的依赖管理工具,但在使用过程中可能会遇到各种错误。以下是一些常见的 Composer 错误以及相应的解决方法,希望能帮助你更好地解决这些问题。 Memory exhausted 解决方法: 增加内存限制,可以通过在命令…

基于随机森林与LSTM神经网络的住宅用电比较分析及预测 代码+论文 完整毕设

摘要 本文旨在探讨基于随机森林(Random Forest)与长短期记忆神经网络(Long Short-Term Memory, LSTM)的住宅用电比较分析及预测方法。随机森林是一种集成学习方法,通过构建多个决策树进行预测,具有较强的鲁…

掌握多线程之精髓:优雅地等待线程结果并继续后续操作

在当今这个信息爆炸的时代,多线程编程已成为高效处理并发任务的重要工具。然而,如何在多线程编程中优雅地等待线程结果并继续后续操作,却是一个让人头疼的问题。今天,我们就来探讨如何使用Executors.newFixedThreadPool和executor…

让IIS支持.NET Web Api PUT和DELETE请求

前言 有很长一段时间没有使用过IIS来托管应用了,今天用IIS来托管一个比较老的.NET Fx4.6的项目。发布到线上后居然一直调用不同本地却一直是正常的,关键是POST和GET请求都是正常的,只有PUT和DELETE请求是有问题的。经过一番思考忽然想起来了I…

如何在群晖NAS中创建FTP公网地址实现远程上传下载本地文件

文章目录 1. 群晖安装Cpolar2. 创建FTP公网地址3. 开启群晖FTP服务4. 群晖FTP远程连接5. 固定FTP公网地址6. 固定FTP地址连接 正文开始前给大家推荐个网站,前些天发现了一个巨牛的 人工智能学习网站, 通俗易懂,风趣幽默,忍不住分…

基于STELLA系统动态模拟技术及在农业、生态及环境科学中的应用教程

原文链接:基于STELLA系统动态模拟技术及在农业、生态及环境科学中的应用教程http://基于STELLA系统动态模拟技术及在农业、生态及环境科学中的应用教程 前言 STELLA是一种用户友好的计算机软件。通过绘画出一个系统的形象图形,并给这个系统提供数学公式…

WEBSERVICE 大文件上传,断点续传分段

最新版本:6.5.40 在线代码:up6-asp-net: Web大文件上传-asp.net示例 - Gitee.com 视频教程:https://www.ixigua.com/7200367234802418187 NOSQL NOSQL无需任何配置可直接访问页面进行测试 SQL 使用IIS 大文件上传测试推荐使用IIS以获取更…

伦敦金实时行情交易需要了解的3个事实

在伦敦金市场中,我们要交易就要面对伦敦金实时行情。然而,在伦敦金实时行情交易中,有几个事实是我们不得不去了解的,下面我们就来讨论一下。 盈利的经历不等于盈利的能力。我们经常看到一些卖课的或者卖指标、卖策略的人会宣传自己…

大数据篇 一篇讲明白 Hadoop 生态的三大部件

大数据Hadoop 生态的三大部件的目录 往期热门专栏回顾前言1、HDFS2、Yarn3、Hive4、HBase4.1.特点4.2.存储 5、Spark及Spark Streaming关于作者 往期热门专栏回顾 专栏描述Java项目实战介绍Java组件安装、使用;手写框架等Aws服务器实战Aws L…

linux系统systemd使用

一、开机启动 所有支持systemd的服务,在安装后,会在/usr/lib/systemd/system中添加一个配置文件,如果需要让当前的服务在开机的时候自动启动,则需要执行以下命令,以firewalld为例 systemctl enable firewalld.servic…

全局UI方法-弹窗六-自定义弹窗

1、描述 通过CustomDialogController类显示自定义弹窗。使用弹窗组件时,可优先考虑自定义弹窗,便于自定义弹窗的样式与内容。 2、接口 CustomDialogController(value:{builder: CustomDialog, cancel?: () > void, autoCancel?: boolean, alignme…

精品凉拌菜系列热卤系列课程

这一系列课程涵盖精美凉拌菜和美味热卤菜的制作技巧。学员将学习如何选材、调味和烹饪,打造口感丰富、色香俱佳的菜肴。通过实践训练,掌握独特的烹饪技能,为家庭聚餐或职业厨艺提升增添亮点。 课程大小:6.6G 课程下载&#xff1…

Linux系统使用Docker搭建Traefik结合内网穿透实现公网访问管理界面

文章目录 一、Zotero安装教程二、群晖NAS WebDAV设置三、Zotero设置四、使用公网地址同步Zotero文献库五、使用永久固定公网地址同步Zotero文献库 Zotero 是一款全能型 文献管理器,可以 存储、管理和引用文献,不但免费,功能还很强大实用。 ​ Zotero 支…

修改mysql密码

1.在此处文件夹下打开cmd 2.输入命令mysqladmin -uroot -p旧密码 password 新密码 3.在navicat进行测试连接