JavaFX和回调

时间:2012-09-16 14:21:14

标签: java scala javafx-2

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

1 个答案:

答案 0 :(得分:4)

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

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