JavaFX和回调(JavaFX and Callbacks)

2019-10-17 05:28发布

我想设置一个回调在JavaFX的方法: http://docs.oracle.com/javafx/2/api/javafx/fxml/FXMLLoader.html#setControllerFactory(javafx.util.Callback )

这是签名:

public void setControllerFactory(Callback<java.lang.Class<?>,java.lang.Object> controllerFactory)

我试过不同的设置,这是最新的,我似乎无法得到它在所有的编译,总有一些不签名匹配:

val loader = new FXMLLoader()
loader.setControllerFactory(new Callback[Class[_], AnyRef] {

})

这一次给我:

error: object creation impossible, since method call in trait Callback of type (x$1: Class[_])AnyRef is not defined

我怎么会写在斯卡拉是Java的例子吗?

Answer 1:

由于错误消息说,您需要定义一个方法,你的匿名类:

loader.setControllerFactory(new Callback[Class[_],Object] {
  def call(c: Class[_]): Object = {
    // your implementation
  }
})


文章来源: JavaFX and Callbacks