我试图抓住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());
}
});
Run Code Online (Sandbox Code Playgroud)
但有了它,它经常更新.所以我在SceneBuilder和API中进行了搜索,发现了一些非常有趣的东西
slider.setOnMouseDragReleased(new EventHandler<MouseDragEvent>() {
@Override
public void handle(MouseDragEvent event) {
System.out.println("setOnMouseDragReleased");
}
});
Run Code Online (Sandbox Code Playgroud)
但他们永远不会被解雇 只有一些像setOnMouseReleased我得到一些输出,但这例如计数整个节点像标签等.
所以我的问题是,这是正确的钩子,知道值不再变化(如果可能的话,在释放鼠标之后就像拖拉手势一样)并且可能用一个小例子来看它的界面是否正常工作.