如何在Scaladin中向Slider添加ValueChanged Listener?

时间:2012-10-15 21:54:34

标签: scala vaadin

我不知道如何在我的应用程序中向Slider添加监听器。我有Horizo​​ntalSlider。根据糟糕的Scaladin文档,应该有一些方法,如addListener,addValueChanged listener或类似的东西。以下是Scaladin 1.0示例中的外观:

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

我找不到这样的东西。那可能是因为我正在使用Scaladin 2.0 我发现的唯一的东西是valueChangeListeners。它混合了ListenersTrait,它有+ =运算符。因此,我希望这样的事情能够发挥作用:

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方法不执行。我在里面设置了一个断点。有没有人知道如何将此功能附加到滑块?我很感激你的帮助。

1 个答案:

答案 0 :(得分:0)

问题是我没有设置立即=真。

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