1

我正在尝试为 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

我将如何在 Scala 中编写该 Java 示例?

4

1 回答 1

4

正如错误消息所说,您需要在匿名类中定义该方法:

loader.setControllerFactory(new Callback[Class[_],Object] {
  def call(c: Class[_]): Object = {
    // your implementation
  }
})
于 2012-09-16T15:23:20.027 回答