1

アプリケーションの Slider に Listener を追加する方法がわかりません。私はHorizo​​ntalSliderを持っています。Scaladin の貧弱なドキュメントによると、addListener、addValueChanged リスナーなどのメソッドが必要です。Scaladin 1.0 の例では次のようになります。

button.addListener(_ => doSomething())
layout.addLayoutClickListener(event => handleLayoutClick(event))
table.addItemClickListener(event => tableItemClicked(event))

私はこのようなものを見つけることができません。それはおそらく、私が Scaladin 2.0 を使用しているためです。+= 演算子を持つ ListenersTrait を mixin します。したがって、次のようなものが機能するはずです。

val revisionsNumberSlider = new HorizontalSlider {
    min = 1
    max = revisionsTodayLeft(true)
    resolution = 0
    value = 32
    width = (200 px)
    valueChangeListeners += (event => sliderChanged(event))
}

def sliderChanged(event: ValueChangeEvent) {
    revisionsNumberLabel.value = event.property.value
}

残念ながら、うまくいきません。コンパイルはできますが、sliderChanged メソッドは実行されません。その中にブレークポイントを設定しました。この関数をスライダーにアタッチする方法を知っている人はいますか? 助けていただければ幸いです。

4

1 に答える 1

0

問題は、immediate = true を設定しなかったことです。

val revisionsNumberSlider = new HorizontalSlider {
    min = 1
    max = revisionsTodayLeft(true)
    resolution = 0
    value = 32
    width = (200 px)
    valueChangeListeners += (event => sliderChanged(event))
    immediate = true
}
于 2012-10-16T19:55:09.377 に答える