代码如下:
numSixBtn.setOnAction(new EventHandler[ActionEvent] {
def handle(event: ActionEvent) = display.setText(display.getText + "6")
})
我的问题是,通常当你有一个方法时,你调用这个方法并在括号中传递参数。但是在这里,我们没有调用handle方法,也没有为参数传入任何东西(event :ActionEvent)。那么它是如何工作的呢?
谢谢
发布于 2014-07-31 03:51:26
事件处理程序是一个callback function。
JavaFX运行一个事件处理循环来处理传入的事件信号。当按钮上发生操作事件(按钮被单击)时,JavaFX系统将通过调用handle(event)
函数来调用事件处理程序,并将ActionEvent作为参数传递给事件处理程序。
这样的事件回调是所有UI处理框架的一个非常常见的方面。
有关更多信息,请阅读event processing in JavaFX。
我建议您在使用ScalaFX之前使用Java API学习JavaFX (这只是我个人对学习JavaFX编程最简单方法的个人看法)。
https://stackoverflow.com/questions/25049343
复制相似问题