Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import javafx.scene.Scene;
- import javafx.stage.Stage;
- import javafx.util.Duration;
- import javafx.scene.control.Button;
- import javafx.scene.layout.StackPane;
- import javafx.application.Application;
- import javafx.animation.FadeTransition;
- import javafx.animation.ScaleTransition;
- import javafx.animation.RotateTransition;
- import javafx.animation.SequentialTransition;
- /**
- *
- * @author toffe boy Aamir
- */
- public class SequentialAnimation extends Application {
- @Override
- public void start(Stage primaryStage) throws Exception {
- Button btn = new Button("Click Me");
- // btn.getStyleClass().add("Btn");
- StackPane pane = new StackPane();
- final double TIME = 3000;
- //Scale
- ScaleTransition magic = new ScaleTransition(Duration.millis(TIME), btn);
- magic.setByX(1.7);
- magic.setByY(1.7);
- //Rotate
- RotateTransition rotate = new RotateTransition(Duration.millis(TIME), btn);
- rotate.setByAngle(360.0);
- rotate.setAutoReverse(true);
- //Fade away
- FadeTransition fadeTransition = new FadeTransition(Duration.millis(TIME), btn);
- fadeTransition.setFromValue(1.0);
- fadeTransition.setToValue(0.0);
- //in a sequence
- SequentialTransition sequentialTransition = new SequentialTransition(magic, rotate, fadeTransition);
- //Clean up on Finished
- sequentialTransition.setOnFinished(e -> {
- btn.setScaleX(1);
- btn.setScaleY(1);
- btn.setOpacity(1);
- }
- );
- btn.setOnAction(e -> {
- sequentialTransition.play();
- });
- pane.getChildren().add(btn);
- Scene root = new Scene(pane, 400, 250);
- // root.getStylesheets().add(getClass().getResource("/CSS/BtnStyle.css").toExternalForm());
- primaryStage.setScene(root);
- primaryStage.show();
- }
- public static void main(String[] args) {
- launch(args);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement