1

我不知道如何在我的应用程序中向 Slider 添加监听器。我有水平滑块。根据糟糕的 Scaladin 文档,应该有一些方法,如 addListener、addValueChanged 侦听器或类似的东西。以下是它在 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 方法不执行。我在里面设置了一个断点。有人知道如何将此功能附加到滑块吗?我会很感激帮助。

4

1 回答 1

0

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

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 回答