我正在尝试为 按钮 中完成的 onAction Action 定义 onAction scalafx 但我可以。package App.Desktop
import javafx.event.EventHandler
import scalafx.event.ActionEvent
import scalafx.scene.control.Button
class Window() {
btn_YES.onAction = (event: ActionEvent) =>
new EventHandler[ActionEvent] {
override def handle(event: ActionEvent) {
/*Do something*/
}
}
}
}
我已完成此操作,但出现错误Error: type mismatch;
found : scalafx.event.ActionEvent => javafx.event.EventHandler[scalafx.event.ActionEvent]
required: javafx.event.EventHandler[javafx.event.ActionEvent]
btn_YES.onAction = (event: ActionEvent) => new EventHandler[ActionEvent]
我也尝试使用 javafx.event.ActionEvent
而不是 scalafx
但它也不起作用。
有什么线索吗?
谢谢
最佳答案
拳头,使用 ScalaFX 重要的是导入 scalafx.Includes._
.它带来了许多 ScalaFX 特性。
有两种推荐的添加方式 onAction
处理程序。主要是使用(event:ActionEvent) => { ... )
关闭:
import scalafx.Includes._
import scalafx.event.ActionEvent
btn_YES.onAction = (event: ActionEvent) => {
/*Do something*/
}
如果你不在乎
event
目的。您可以节省一些输入并使用 handle {...}
:import scalafx.Includes._
btn_YES.onAction = handle {
/*Do something*/
}
在这两种情况下,您都需要导入
scalafx.Includes._
关于ScalaFX 按钮 => 如何定义 Action ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36570947/