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而不必输入完全限定名称?