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

その Java の例を Scala でどのように書くのでしょうか?

4

1 に答える 1

4

エラー メッセージにあるように、匿名クラスでそのメソッドを定義する必要があります。

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