このコードを例として使用して、スライダーの変更を追跡し、結果を「speed: Int」変数に入れるために次のように記述しました。
speedSlider.valueProperty.addListener(new ChangeListener[Number] {
@Override
def changed(o: ObservableValue[_ <: Number], oldVal: Number, newVal: Number) {
speed = newVal.intValue()
}
})
しかし、それはエラーを引き起こします:
wrong number of type arguments for scalafx.beans.value.ObservableValue, should be 2
def changed(o: ObservableValue[_ <: Number], oldVal: Number, newVal: Number) {
このエラーに変更ObservableValue[_ <: Number]
するとObservableValue[_ <: Number, _ <: Number]
消えますが、別のエラーが発生します:
object creation impossible, since method changed in trait ChangeListener of type (x$1: javafx.beans.value.ObservableValue[_ <: Number], x$2: Number, x$3: Number)Unit is not defined
speedSlider.valueProperty.addListener(new ChangeListener[Number] {
^
何か案は?
更新: ObservableValue
(よくわからない ScalaFX バージョンに解決されていた) を に置き換えることでエラーを解決しましたjavafx.beans.value.ObservableValue
。コンパイルしてエラーをスローするようになりましたが、まだ動作しません。コードが呼び出されることはありません。