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应用启动时,会按顺序执行以下步骤:
- 启动JavaFX运行时环境。
- 构造Application类的实例。
- 执行init()方法。
- 执行 start(javafx.stage.Stage) 方法。
- 等待JavaFX应用程序完成,直到出现以下两种情况停止等待:
- 调用Platform.exit()方法
- 最后一个窗口关闭并且implicitExit属性为true
- 执行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晚上画好登录注册页面发在大群