我正在尝试为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示例?
答案 0 :(得分:4)
正如错误消息所示,您需要在匿名类中定义该方法:
loader.setControllerFactory(new Callback[Class[_],Object] {
def call(c: Class[_]): Object = {
// your implementation
}
})