Witam, mam taki problem, dlaczego ta animacja zadziała tylko raz dla każdego kontenera z addSlideList? Robię program do prezentacji multimedialnych i chcę aby kolejne slajdy nachodził z lewej strony na wcześniejszy, ale to działa tylko raz. Jak cofnę się do wcześniejszego slajdu(metoda previousSlideWork();)i przejdę jeszcze raz do następnego to wyświetli się on natychmiast bez animacji.
public void nextSlideWork() {
if (addSlideList != null && slideNumber < addSlideList.size() - 1) {
slideNumber++;
addSlideList.get(slideNumber).setLayoutX(1200);
rootWork.getChildren().add(addSlideList.get(slideNumber));
nextTransition = new TranslateTransition();
nextTransition.setNode(addSlideList.get(slideNumber));
nextTransition.setDuration(Duration.millis(2000));
nextTransition.setToX(-1200);
nextTransition.setOnFinished(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent t) {
//Usuwanie wcześniejszego slajdu po skończonej animacji
rootWork.getChildren().remove(addSlideList.get(slideNumber - 1));//
labelSlideNumber.setText(Integer.toString(slideNumber + 1) + "/" + Integer.toString(addSlideList.size()));
System.out.println("SLIDE_NUMBER==========" + slideNumber + ", rootWork===========" + rootWork.getChildren());
}
});
nextTransition.play(); // start animacji
} else {
System.out.println("Brak slajdu !");
}
}