Advertisement
iamaamir

SequentialAnimation

Jul 26th, 2015
294
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.00 KB | None | 0 0
  1. import javafx.scene.Scene;
  2. import javafx.stage.Stage;
  3. import javafx.util.Duration;
  4. import javafx.scene.control.Button;
  5. import javafx.scene.layout.StackPane;
  6. import javafx.application.Application;
  7. import javafx.animation.FadeTransition;
  8. import javafx.animation.ScaleTransition;
  9. import javafx.animation.RotateTransition;
  10. import javafx.animation.SequentialTransition;
  11.  
  12. /**
  13.  *
  14.  * @author toffe boy Aamir
  15.  */
  16. public class SequentialAnimation extends Application {
  17.  
  18.     @Override
  19.     public void start(Stage primaryStage) throws Exception {
  20.         Button btn = new Button("Click Me");
  21. //        btn.getStyleClass().add("Btn");
  22.         StackPane pane = new StackPane();
  23.         final double TIME = 3000;
  24.  
  25.         //Scale
  26.         ScaleTransition magic = new ScaleTransition(Duration.millis(TIME), btn);
  27.         magic.setByX(1.7);
  28.         magic.setByY(1.7);
  29.  
  30.         //Rotate
  31.         RotateTransition rotate = new RotateTransition(Duration.millis(TIME), btn);
  32.         rotate.setByAngle(360.0);
  33.         rotate.setAutoReverse(true);
  34.  
  35.         //Fade away
  36.         FadeTransition fadeTransition = new FadeTransition(Duration.millis(TIME), btn);
  37.         fadeTransition.setFromValue(1.0);
  38.         fadeTransition.setToValue(0.0);
  39.  
  40.         //in a sequence
  41.         SequentialTransition sequentialTransition = new SequentialTransition(magic, rotate, fadeTransition);
  42.        
  43.         //Clean up on Finished
  44.         sequentialTransition.setOnFinished(e -> {
  45.             btn.setScaleX(1);
  46.             btn.setScaleY(1);
  47.            
  48.             btn.setOpacity(1);
  49.         }
  50.         );
  51.  
  52.         btn.setOnAction(e -> {
  53.             sequentialTransition.play();
  54.         });
  55.  
  56.         pane.getChildren().add(btn);
  57.  
  58.         Scene root = new Scene(pane, 400, 250);
  59. //        root.getStylesheets().add(getClass().getResource("/CSS/BtnStyle.css").toExternalForm());
  60.  
  61.         primaryStage.setScene(root);
  62.         primaryStage.show();
  63.     }
  64.  
  65.     public static void main(String[] args) {
  66.         launch(args);
  67.     }
  68. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement