'daki ImageView geçişi için zaten How to wait for a transition to end in javafx 2.1?'a baktım ama sorunumu tam olarak çözmüyor.JavaFX
Ben ImageView nesneleri listesi var ve bu Listesi üzerinden yineleme ve Listesi'nin her 'slayt' aşağıdaki eylemleri gerçekleştirmek istediğiniz: birkaç saniye
- solma kalmak yılında
- karartmak
Ben yerinde ancak geçiş asenkron olduğundan, döngü aynı anda tüm 'slaytlar' geçişi geçerlidir kod aşağıdadır:
// The method I am running in my class
public void start() {
for (ImageView slide : slides) {
SequentialTransition sequentialTransition = new SequentialTransition();
FadeTransition fadeIn = Transition.getFadeTransition(slide, 0.0, 1.0, 2000);
FadeTransition stayOn = Transition.getFadeTransition(slide, 1.0, 1.0, 2000);
FadeTransition fadeOut = Transition.getFadeTransition(slide, 1.0, 0.0, 2000);
sequentialTransition.getChildren().addAll(fadeIn, stayOn, fadeOut);
this.root.getChildren().add(slide);
sequentialTransition.play();
}
}
// the method in the Transition helper class:
public static FadeTransition getFadeTransition(ImageView imageView, double fromValue, double toValue, int durationInMilliseconds) {
FadeTransition ft = new FadeTransition(Duration.millis(durationInMilliseconds), imageView);
ft.setFromValue(fromValue);
ft.setToValue(toValue);
return ft;
}
I (bakılmaksızın Listesinde bulunmaktadır ImageViews sayısının, bu yüzden sert kod bunu istemiyoruz) ImageView bu Listesi tek tek nesneleri canlandırabilirsiniz nasıl bir fikir. Teşekkürler.
Teşekkür Sebastian! :) Bunu denemedim (eve geldiğimde yapacağım) ama mantıklı geliyor .. ben çok aptalım .. çok teşekkürler! :) Eve döndüğümde seni güncelleyeceğim .. –
Sorun değil. Eğer ekleyebilirsem, Timer ve TimerTask'ı JavaFX'ten başka bir sonraki slaytları tetiklemeyi tercih ederim, çünkü bu daha iyi ölçekler. Birkaç hafta önce kendim için bir slayt gösterisi yazdım, düğmeler ekledim ve slayt gösterisini durdurmak, uygulamanıza daha sonra eklemek isteyebileceğiniz bir şey. – Sebastian
Merhaba Bastian, önerdiğin çözümü denedim ve maalesef hile yapmıyor. Kodu çalıştırdığımda, sadece listenin son slaydını görüyorum .. ön yüzünü gösterir ve sonra ekran kaybolur ve ekran boş bırakılarak kaybolur. Bence burada olmayan her slayt için geçiş oynamalıyım. Çok teşekkürler :) –