JavaFX的安装

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文件,还要创建一个这个页面对应的控制类

JavaFx中SVGPath使用 javafx怎么使用_JavaFx中SVGPath使用

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

JavaFx中SVGPath使用 javafx怎么使用_JavaFx中SVGPath使用_02

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

 

JavaFx中SVGPath使用 javafx怎么使用_JavaFX_03

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

JavaFx中SVGPath使用 javafx怎么使用_控件_04

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

JavaFx中SVGPath使用 javafx怎么使用_控件_05

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

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

On Action 设置控件的点击事件

JavaFx中SVGPath使用 javafx怎么使用_xml_06

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

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

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

组件控件大小

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

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

事件选择

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

简单的窗口操作

关闭窗口

JavaFx中SVGPath使用 javafx怎么使用_控件_07

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

JavaFx中SVGPath使用 javafx怎么使用_xml_08

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

JavaFx中SVGPath使用 javafx怎么使用_JavaFx中SVGPath使用_09

右键.fxml文件,可以点击在Scene Builder打开

JavaFx中SVGPath使用 javafx怎么使用_JavaFx中SVGPath使用_10

并可以打开下面这个页面,说明配置好了

JavaFx中SVGPath使用 javafx怎么使用_xml_11

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

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