Слайдер JavaFX 8 не обновляет значение - PullRequest
1 голос
/ 20 февраля 2020

Мой 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);
        } );

    }
}
...