将ChangeListener添加到JavaFXTextField以获取scala中的焦点信息

将ChangeListener添加到JavaFXTextField以获取scala中的焦点信息,scala,javafx,Scala,Javafx,我试图将ChangeListener添加到文本字段,但出现错误 这是我试过的例子 class MyTextField() extends TextField { val change: javafx.beans.value.ChangeListener[Boolean] = new TextFieldChangeListener focusedProperty().addListener(change) class TextFieldChangeListener extends

我试图将ChangeListener添加到文本字段,但出现错误

这是我试过的例子

class MyTextField() extends TextField
{

  val change: javafx.beans.value.ChangeListener[Boolean] = new TextFieldChangeListener
  focusedProperty().addListener(change)

  class TextFieldChangeListener extends ChangeListener[Boolean] 
  {
    override def changed(arg0: ObservableValue[_ <: Boolean], oldPropertyValue: Boolean, newPropertyValue: Boolean) 
    {
       println("Fokus")
    }
 }
}
但我在eclipse中遇到以下错误:

overloaded method value addListener with alternatives: (x$1: 
javafx.beans.value.ChangeListener[_ >: java.lang.Boolean])Unit <and>    
(x$1:javafx.beans.InvalidationListener)Unit cannot be applied to    
(javafx.beans.value.ChangeListener[scala.Boolean])
重载的方法值addListener和可选项:(x$1:
javafx.beans.value.ChangeListener[\u>:java.lang.Boolean])单位
(x$1:javafx.beans.InvalizationListener)单元不能应用于
(javafx.beans.value.ChangeListener[scala.Boolean])

原因可能是
scala.Boolean
java.lang.Boolean
,但我不确定这一点。

在java中,
Boolean
表示
java.lang.Boolean
(如果没有其他说明)。在Scala中,它的意思是
Scala.Boolean
focusedProperty()
,作为一个JavaFX方法,显然对scala.Boolean一无所知。“原因可能是scala.Boolean和java.lang.Boolean,但我不确定。”是的
overloaded method value addListener with alternatives: (x$1: 
javafx.beans.value.ChangeListener[_ >: java.lang.Boolean])Unit <and>    
(x$1:javafx.beans.InvalidationListener)Unit cannot be applied to    
(javafx.beans.value.ChangeListener[scala.Boolean])