Мой Slider не обновляется, когда я вызываю .adjustValue, принадлежащий классу Slide. Я также попытался .setValue только для того, чтобы получить тот же результат ... У меня есть ползунок, определенный в моем .f xml и на который ссылаются в моем классе контроллера ниже.
Я был в тупике в течение последних двух часов ... Любая помощь будет принята с благодарностью!
РЕДАКТИРОВАТЬ: УДАЛЕННЫЙ СТАРЫЙ КОД И ПРЕДСТАВЛЕН БОЛЬШЕ КОНЦИЧНОГО КОДА НИЖЕ:
Поскольку я не соблюдаю минимальную воспроизводимость StackOverFlows Пример Я представил новый код ниже, который показывает ту же проблему, но более краткую.
import javafx.fxml.FXML;
import javafx.scene.control.Slider;
import javafx.scene.media.Media;
import javafx.scene.media.MediaPlayer;
import java.io.File;
public class Controller {
public Controller(){}
@FXML
private Slider songSliderBar;
MediaPlayer mediaPlayer;
public void begin(){
String pathToSong = "PATH TO SONG (IM USING .MP4)";
Media media = new Media(new File(pathToSong).toURI().toString());
mediaPlayer = new MediaPlayer(media);
mediaPlayer.setAutoPlay(true);
mediaPlayer.setOnReady(new Runnable() {
@Override
public void run() {
songSliderBar.setMax(mediaPlayer.getTotalDuration().toSeconds());
System.out.println(mediaPlayer.getTotalDuration().toSeconds());
}
});
mediaPlayer.currentTimeProperty().addListener((observableValue, oldDuration, newDuration) -> {
double currentValue = newDuration.toSeconds() / mediaPlayer.getTotalDuration().toSeconds();
songSliderBar.setValue(currentValue);
System.out.println(currentValue);
} );
}
}