javafx api的定义如下:
void addListener(ChangeListener<? super java.lang.Boolean> listener)
以下代码..
new TextArea().focusedProperty.addListener(new ChangeListener[Boolean]() {
def changed(observable: ObservableValue[_ <: Boolean], oldValue: Boolean, newValue: Boolean) {
}
})
..给出这个错误:
具有替代方法的重载方法值 addListener: (javafx.beans.value.ChangeListener[_ >: java.lang.Boolean])Unit (javafx.beans.InvalidationListener)Unit 不能应用于 (java.lang.Object with javafx.beans. value.ChangeListener[Boolean])
如果我使用java.lang.Boolean
而不是Boolean
,它可以工作,但不适用于 scala 的布尔值。这是为什么?是否可以使用此 api 而无需键入完全限定名称?