JavaFX的API的定義如下:Scala/Java interop:類型未轉換?
void addListener(ChangeListener<? super java.lang.Boolean> listener)
下面的代碼..
new TextArea().focusedProperty.addListener(new ChangeListener[Boolean]() {
def changed(observable: ObservableValue[_ <: Boolean], oldValue: Boolean, newValue: Boolean) {
}
})
..gives此錯誤:如果我使用java.lang.Boolean
代替Boolean
overloaded method value addListener with alternatives: (javafx.beans.value.ChangeListener[_ >: java.lang.Boolean])Unit (javafx.beans.InvalidationListener)Unit cannot be applied to (java.lang.Object with javafx.beans.value.ChangeListener[Boolean])
,它的工作原理,但不是與斯卡拉布爾。這是爲什麼?是否有可能使用這個API而不必輸入完全限定名稱?