本次会通过学生管理系统介绍

分为两个角色

老师

javafx 悬浮窗口 javafx怎么进行页面跳转_javafx 悬浮窗口

 学生

javafx 悬浮窗口 javafx怎么进行页面跳转_java_02

 在该系统中,主要完成老师管理学生的功能,主要完成以下操作

javafx 悬浮窗口 javafx怎么进行页面跳转_javafx 悬浮窗口_03

 登陆页面搭建

javafx 悬浮窗口 javafx怎么进行页面跳转_javafx 悬浮窗口_04

javafx 悬浮窗口 javafx怎么进行页面跳转_控件_05

 

javafx 悬浮窗口 javafx怎么进行页面跳转_自定义_06

 

 登陆按钮设置

使用setOnAction 完成事件设置

javafx 悬浮窗口 javafx怎么进行页面跳转_java_07

 完成数据取值操作

javafx 悬浮窗口 javafx怎么进行页面跳转_自定义_08

 实现数据库证逻辑

javafx 悬浮窗口 javafx怎么进行页面跳转_数据_09

 Alert进阶

javafx 悬浮窗口 javafx怎么进行页面跳转_java_10

 第一个参数,弹框的类型,第一次课程中有分析,主要是图标的

javafx 悬浮窗口 javafx怎么进行页面跳转_控件_11

 第二个参数,弹框的提示信息

javafx 悬浮窗口 javafx怎么进行页面跳转_javafx 悬浮窗口_12

 第三个参数,一个按钮可变数组,用于弹框下方显示的按钮

javafx 悬浮窗口 javafx怎么进行页面跳转_数据_13

 

javafx 悬浮窗口 javafx怎么进行页面跳转_控件_14

 我们只要做判断,就可以知道选择的按钮了,然后在执行相关的操作

javafx 悬浮窗口 javafx怎么进行页面跳转_数据_15

 注册页面搭建

使用网格布局搭建页面

javafx 悬浮窗口 javafx怎么进行页面跳转_数据_16

 完整代码

javafx 悬浮窗口 javafx怎么进行页面跳转_javafx 悬浮窗口_17

javafx 悬浮窗口 javafx怎么进行页面跳转_自定义_18

 

javafx 悬浮窗口 javafx怎么进行页面跳转_自定义_19

 

javafx 悬浮窗口 javafx怎么进行页面跳转_自定义_20

 

 切换与新开

现在我们需要给 前往登录 按钮设置点击事件,目的是点击它能够打开注册界面,所以我们需要了解如何进行页面新开与跳转场景切换根据之前的介绍,FX的构成部分分为Stage

构建两个场景,分别放置不同的内容

javafx 悬浮窗口 javafx怎么进行页面跳转_自定义_21

 给场景一放置一个按钮控件,当我们点击按钮的时候,将舞台场景切换为场景二

javafx 悬浮窗口 javafx怎么进行页面跳转_控件_22

 设置场景一为默认显示

javafx 悬浮窗口 javafx怎么进行页面跳转_javafx 悬浮窗口_23

 默认视图

javafx 悬浮窗口 javafx怎么进行页面跳转_自定义_24

 点击按钮后

javafx 悬浮窗口 javafx怎么进行页面跳转_java_25

 完整代码

javafx 悬浮窗口 javafx怎么进行页面跳转_java_26

 新开窗口进行到这里,同学们应该对于这个 Stage 和 Scene 大概明白的差不多了一个 Stage 就是一个窗口, Scene 就是该窗口中显示的内容,如果需要新开一个窗口,那就意味存在多个舞台 Stage完成功能:点击按钮新开注册页面删除注册页面的 main 方法或者是里面的 launch() 方法,因为该方法是 JavaFX 程序的入口,项目必须有且只需要

javafx 悬浮窗口 javafx怎么进行页面跳转_控件_27

 编写登录页面 前往注册 点击事件

javafx 悬浮窗口 javafx怎么进行页面跳转_数据_28

javafx 悬浮窗口 javafx怎么进行页面跳转_java_29

 

 此处会出来两个界面 ,如果需要关闭登录界面,可以调用 对应舞台的 close() 方法

javafx 悬浮窗口 javafx怎么进行页面跳转_控件_30

 完整代码

javafx 悬浮窗口 javafx怎么进行页面跳转_自定义_31

 首页搭建

javafx 悬浮窗口 javafx怎么进行页面跳转_数据_32

 结构对比

javafx 悬浮窗口 javafx怎么进行页面跳转_自定义_33

 搭建整体布局

javafx 悬浮窗口 javafx怎么进行页面跳转_数据_34

 顶部

需要放入多个控件,且位于一行,可以选择 FlowPane 或者 HB

javafx 悬浮窗口 javafx怎么进行页面跳转_java_35

 底部

与顶部类似

javafx 悬浮窗口 javafx怎么进行页面跳转_自定义_36

 中部

javafx 悬浮窗口 javafx怎么进行页面跳转_javafx 悬浮窗口_37

 这个部位是表格控件 TableView

javafx 悬浮窗口 javafx怎么进行页面跳转_控件_38

javafx 悬浮窗口 javafx怎么进行页面跳转_javafx 悬浮窗口_39

 

我们需要为表格设置列 TableColumn

javafx 悬浮窗口 javafx怎么进行页面跳转_javafx 悬浮窗口_40

 将列绑定到表格控件中

javafx 悬浮窗口 javafx怎么进行页面跳转_数据_41

 我们从 Dao 层拿到学生集合之后,需要将该集合中的数据绑定到表格控件中,所以我们需要给该控件的列进行代码

javafx 悬浮窗口 javafx怎么进行页面跳转_数据_42

 其中, new PropertyValueFactory(xx) 这行代码会自动帮助我们从学生对象中取值对应的属性,我们只需要改变列的名称与对

应的属性值 xx 即可完成数据显示

 

数据绑定

javafx 悬浮窗口 javafx怎么进行页面跳转_控件_43

 需要注意的点: 绑定数据的方式

未指定泛型时候,必须使用 FXCollections.observableList(list) 对普通的List进行转换才能被表格所识别

指定了泛型后,可以直接使用 addAll() 方法合并集合

javafx 悬浮窗口 javafx怎么进行页面跳转_数据_44

 完整代码

javafx 悬浮窗口 javafx怎么进行页面跳转_javafx 悬浮窗口_45

javafx 悬浮窗口 javafx怎么进行页面跳转_java_46

 

javafx 悬浮窗口 javafx怎么进行页面跳转_自定义_47

 

 强烈要求:在 TableView 后面指定遍历数据的类型,如 TableView<Student>

自定义列值处理器

此处定义在这里是为了进行拓展,可自行选择是否需要了解

自定义列

javafx 悬浮窗口 javafx怎么进行页面跳转_java_48

 自定义列处理器

javafx 悬浮窗口 javafx怎么进行页面跳转_控件_49

javafx 悬浮窗口 javafx怎么进行页面跳转_java_50