scalaFx アプリでイベント ハンドラーを作成しようとしています。私は次の解決策を見つけました:
import scalafx.scene.control.ListView
import javafx.scene.input.MouseEvent
import javafx.event.EventHandler
...
val list = new ListView[String] {
onMouseClicked = new EventHandler[MouseEvent] {
override def handle(event: MouseEvent) {
doSomething(event)
}
}
}
しかし、これは非常に Java スタイルのボイラープレート コードのようです。このようなファーストクラスの関数でこれを行う方法はありますか?
onMouseClicked = (event: MouseEvent) => doSomething(event)
コンパイラは次のように述べています。
javafx.scene.input.MouseEvent => scalafx.delegate.SFXDelegate[javafx.scene.input.MouseEvent] with javafx.scene.input.MouseEvent から利用可能な暗黙的なビューはありません。