我有一个问题。 我正在创建一个audiplayer,几乎一切都已完成,但我有一个小问题。 我可以使用滑块,但我只能滑动它,点击不起作用。 我怎么能解决这个问题,我已经看到了JavaFX的一些解决方案,但是没有使用FXML的javaFX应用程序(我正在使用FXML)。 非常感谢你!
答案 0 :(得分:2)
Slider有一个方法setOnMouseReleased(EventHandler<? super MouseEvent> value)
,这意味着你可以轻松添加一个MouseEvent处理程序来点击滑块:
mySlider.setOnMouseReleased((MouseEvent event) -> {
// do whatever has to be done
});
答案 1 :(得分:0)
这样的事情:
timeSlider.setOnMouseClicked(new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent event) {
timeSlider.setValueChanging(true);
double value = (event.getX()/timeSlider.getWidth())*timeSlider.getMax();
timeSlider.setValue(value);
timeSlider.setValueChanging(false);
}
});
如果您有任何注册,这也会导致您的value属性侦听器触发。你可以注册一个这样的:
timeSlider.valueProperty().addListener(new InvalidationListener() {
public void invalidated(Observable ov) {
if (timeSlider.isValueChanging()) {
//do something here
}
}
}