JavaFX - Slider-Wert nach Ziehen der Maustaste einstellen
Ich schreibe einen Musik-Player und weiß nicht, wie man einen Schieberegler für den Zieh-Handler codiert, um den Wert festzulegen, nachdem der Benutzer die Maustaste losgelassen hat. Wenn ich eine einfache MouseDragged-Methode schreibe, führt das Ziehen zu einem unästhetischen "Zurückspulen", da der Mediaplayer bei jeder Bewegung des Schiebereglers seinen Wert ändert. Während des Spielens ändert der Slider automatisch den Wert des Mediaplayers, um ihn mit der Titeldauer zu synchronisieren. Das ist, was ich bisher bekommen habe.
ChangeListener<Duration> timeListener = new ChangeListener<Duration>() {
@Override
public void changed(
ObservableValue<? extends Duration> observableValue,
Duration duration,
Duration current) {
durSlider
.setValue(current
.toSeconds());
}
};
durSlider.setOnMouseDragged(new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent mouseEvent) {
mediaPlayer.seek(Duration.seconds(durSlider.getValue()));
}
});