【发布时间】:2013-09-19 10:20:29
【问题描述】:
我正在尝试捕捉 JavaFX Slider 上的事件,尤其是表示拖动停止并被释放的事件。起初我使用valueProperty 和这样的模拟代码
slider.valueProperty().addListener(new ChangeListener<Number>() {
@Override
public void changed(ObservableValue<? extends Number> ov, Number oldValue, Number newValue) {
log.fine(newValue.toString());
}
});
但是这样更新太频繁了。所以我在 SceneBuilder 和 API 中进行了搜索,发现了一些有趣的内容,例如
slider.setOnMouseDragReleased(new EventHandler<MouseDragEvent>() {
@Override
public void handle(MouseDragEvent event) {
System.out.println("setOnMouseDragReleased");
}
});
但他们永远不会被解雇。只有一些像setOnMouseReleased 我得到一些输出,但是这对于 whole 节点如标签等的计数。
所以我的问题是,这是知道值不再变化的正确钩子(如果可能在释放鼠标后,如拖放手势),也许还有一个小例子来查看它的界面工作。
【问题讨论】:
标签: events drag-and-drop slider javafx-2