JavaFX ProgressIndicator перестает вращаться - PullRequest
0 голосов
/ 10 апреля 2020

Я пытаюсь показать пользователю моего приложения, что данные таблицы загружаются, однако мой индикатор прогресса, вращающееся колесо начинает вращаться, а затем останавливается, пока таблица еще не обновлена. Из-за этого создается впечатление, что мое приложение заморожено, что не годится.

public class TracksTable extends TableView<Track> implements InvalidationListener {

    private List<Track> data;
    private ProgressIndicator progressor;
    private BooleanProperty loading = new SimpleBooleanProperty(false);
    private TrackModel model;


    public TracksTable(){
        // initialize columns
    }

    public void initializeData(ProgressIndicator progressor, TrackModel model){
        this.model = model;
        this.model.addListener(this);
        Platform.runLater(() -> progressor.visibleProperty().bind(loading));
        // setting tablecolumn cellvaluefactories and so on...
    }

    public void fillTable() {
        // get data from server and put it in data, takes long time
        data = ...
        Platform.runLater(this::fillTableView);
    }

    public void fillTableView(){
        this.setItems(data);
        this.loading.setValue(false);
    }

    @Override
    public void invalidated(Observable observable) {
        this.loading.setValue(true);
        new Thread(this::fillTable).start();
    }
}

В моем коде используются потоки и потоки JavaFX, ошибки не отображаются, что не так с кодом progressindicator?

...