Po wpisaniu pozycji i kliknięciu przycisku szukaj
Chciałbym dodać progressIndicator
tylko mam problem z odpowiednim wywołaniem. Obecnie pod przyciskiem jest to:
public void szukajProgramBtn_Clicked(){
szukajprogramowTilePane.getChildren().clear();
FilmwebApi fwAPI = new FilmwebApi();
List<FilmSearchResult> filmInfoList = fwAPI.findFilm(szukajprogramTextField.getText());//lista filmów o tytule zawierającym podaną frazę
for(int i=0; i<filmInfoList.size(); i++){
Image szukajPozycjaImage = new Image(filmInfoList.get(i).getImageURL());
ImageView szukajPozycjaImageView = new ImageView(szukajPozycjaImage);
szukajPozycjaImageView.setPreserveRatio(true);
szukajprogramowTilePane.getChildren().add(szukajPozycjaImageView);
}
Wywołanie nowego wątku i połączenie go z progressBar
:
Task task = new Task<Void>() {
@Override public Void call() {
//cos
updateProgress(i, max);
}
return null;
}
};
progressIndicator = new ProgressIndicator();
progressIndicator.progressProperty().bind(task.progressProperty());
new Thread(task).start();
Cały czas mi sie zawiesza, gdy dodaje moją pętle for
do task
bo ma problem z szukajprogramowTilePane.getChildren().add(szukajPozycjaImageView);
co wydaje sie logiczne, tylko nie bardzo wiem, jak poprawnie ten progressIndicator
obsługiwać stąd moje pytanie. Bo chciałbym w pętli for
dodać coś typu updateProgress(i, filmInfoList.size())
dla każdego przejścia pętli, aby owy wskaźnik postępu odzwierciedlał czas wczytywania obrazków do panelu szukajprogramowTilePane
. Będę bardzo wdzięczny za kolejną wskazówkę.