Event driven programming, 顾名思义,就是通过事件去驱动程序运行。某一事件的发生可以驱动另一个事件。在JavaFX中,是这样使用的。
- 确定source event (通常是button)
- Implements eventHandler(T extends Event)
- Instantiate the handler, 然后注册(register)这个handler,通过setOnAction / SetOnMouseClicked …
button.setOnAction( e-> {
/** Method goes here */
});
创建eventHandler 一般有三种办法:
- 先写一个inner class, 然后用 new handler() 去instantiate(实例化)
- Anonymous inner class (combine defining an inner class and creating an instance of it into one step)
- Lambda expression
JavaFX中,source event的概念很好理解,一般就是button。但是在Java中,我们一般怎么运用呢。这里需要调用到 Java.util.Consumer
Consumer<T> // This interface is similar to
// the EventHander<T extends Event> interface
// When implementing this interface, we must implement the
// its accept(T t) {} method just like we have to implement
// the handler(T extends Event evnet)
具体如何使用看下一段代码
class ConsumerHandler implements Consumer<Integer> {
public void accept(Integer i) {
System.out.println("It is valued at $" + i + ". Hold on what you have.");
}
}
以上便是对Event driven programming的一些小结