在JavaFX中,事件(event)用对象表示。当用户和接口进行了某些交互后,就会生成事件对象,并将其传给你建立的事件处理方法,称为事件处理器(event handler)。事件处理器检查事件对象,并作出相应的响应。
在事件处理中,有四个重要的属于:
- 事件:当事件发生时建立的对象。
- 事件源:事件发生时所在的对象。
- 事件目的:事件结束时所在的对象。大多情况下和事件源是同一个对象。
- 事件处理器:监听并处理事件的对象。
处理JavaFX事件,通常包含三个步骤:
- 建立事件源
事件源通常是一个控件,如button。
private Button btn = new Button();
btn.setTitle("Click me");
- 建立事件处理器
创建实现了EventHandler
接口的对象,并定义了方法handle
的实现。 - 注册事件处理器
在事件源上注册事件处理器,使得当事件发生时,handle
方法能够被调用。每个作为事件源的对象都有注册事件处理器的方法。例如Button
对象的setOnAction
方法。
创建事件处理器对象的方法有三种:
- 内部类
- 匿名类
- Lambda表达式
推荐使用Lambda表达式,因为代码最简洁。