2016-06-10 9 views
1

Wie bekomme ich JavaFX auf eine Methode warten, bevor eine Animation beendet wird, bevor ich zur nächsten Methode übergehe? Also mein Code ist wie folgt:JavaFX warten, bis die Animationsmethode beendet ist, bevor zur nächsten Methode gegangen wird

public void spinWheel(){ 
     RotateTransition rotation = new 
     rotation.setByAngle(-(720+(15*(i+(24-finalIndex))))); 
     rotation.play(); 
     wheelResult=wheel.spinWheel(i); 

spinButton.setOnAction(e->{ 
    spinButton.setDisable(true); 
    wheelGui.spinWheel(); 
    spinGame(); 
    }); 

Also ist die Spinwheel() Methoden die Animation. Es ist im Wesentlichen ein Rad drehen. Die Methode druckt danach Code und reaktiviert in einigen Fällen die Schaltfläche. Dies ist jedoch augenblicklich. Ich möchte, dass die Animation beendet wird, bevor die nächste Methode ausgeführt wird, da der Text zu schnell wird oder die Schaltfläche erneut aktiviert wird und die Aktion unterbrechen kann.

+0

verwenden können, wenn beide Animationen sind, sollten Sie mit [ 'SequentialTransition'] (https://docs.oracle.com/javase/8/javafx/api/javafx/animation/SequentialTransition. html) – fabian

Antwort

1

Sie

RotateTransition rotateTransition = new RotateTransition(); 
rotateTransition.setOnFinished(e -> yourMethod()) 
rotateTransition.play(); 
+0

Danke! Ich habe nur die zweite Methode in die erste eingebettet und es lief gut. Sehr geschätzt. – mineshmshah

Verwandte Themen