JavaFX ParallelTransition类

此转换在一个节点上并行应用多个动画。它类似于顺序转换,除了它同时在一个节点上应用多个转换,而顺序转换按照动画传入构造函数的顺序在节点上应用多个转换。

在 JavaFX 中,类javafx.animation.ParallelTransition表示并行转换。我们只需要在实例化这个类时将转换列表传递给构造函数。

1 ParallelTransition类的属性

属性 描述 setter方法
node 这是 Node 类的类型对象的属性。它表示要应用转换的节点。 setNode(Node node)

2 ParallelTransition类的构造函数

该类包含下面给出的四个构造函数。

  1. public ParallelTransition() :使用默认参数创建一个 ParallelTransition 实例。
  2. public ParallelTransition(Animation? children) :创建一个带有动画列表的 ParallelTransition 实例。
  3. public ParallelTransition(Node node) :创建一个 ParallelTransition 的实例,其中指定的节点将应用并行转换。
  4. public ParallelTransition(Node node, Animation?children) :使用指定的节点和动画列表创建一个 ParallelTransition 实例。

3 ParallelTransition类的例子

在以下示例中,我们创建了一个多边形并在其上并行应用了各种动画。

package com.yiidian;

import javafx.animation.*;
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.paint.Color;
import javafx.scene.shape.Polygon;
import javafx.stage.Stage;
import javafx.util.Duration;

public class Parallel_Transition extends Application {
   @Override   
   public void start(Stage primaryStage) {
       //Setting points for the polyogn   
        Polygon poly = new Polygon();
       poly.getPoints().addAll(new Double[] {320.0,270.0,270.0,220.0,270.0,270.0,320.0,120.0,370.0,270.0,370.0,220.0});  
          
         //Setting Color and Stroke properties for the polygon    
         poly.setFill(Color.LIMEGREEN);
         poly.setStroke(Color.BLACK);  
       
         //Setting durations for the transition   
         Duration dur1 = Duration.millis(1000);
         Duration dur2 = Duration.millis(1000);  
       
           
         //Setting the pause transition  
         PauseTransition pause = new PauseTransition(Duration.millis(1000));
           
         //Setting the fade transition   
         FadeTransition fade = new FadeTransition(dur2);
         fade.setFromValue(1.0f);  
         fade.setToValue(0.3f);  
         fade.setCycleCount(5);  
         fade.setAutoReverse(true);  
           
         //Setting Translate transition  
         TranslateTransition translate = new TranslateTransition(dur1);
         translate.setToX(-150f);  
         translate.setCycleCount(5);  
         translate.setAutoReverse(true);  
           
         //Setting Rotate Transition   
         RotateTransition rotate = new RotateTransition(dur2);
         rotate.setByAngle(360f);  
         rotate.setCycleCount(5);  
         rotate.setAutoReverse(true);  
           
         //Setting Scale Transition   
         ScaleTransition scale = new ScaleTransition(dur1);
         scale.setByX(1.5f);  
         scale.setByY(1.2f);  
         scale.setCycleCount(5);  
         scale.setAutoReverse(true);  
           
         //Instantiating Parallel Transition class by passing the list of transitions into its constructor  
         ParallelTransition seqT = new ParallelTransition (poly,rotate, pause, fade, translate,  scale);  
           
         //playing the transition   
         seqT.play();  
           
         //Configuring the group and scene   
         Group root = new Group();
         root.getChildren().addAll(poly);  
         Scene scene = new Scene(root,490,450,Color.WHEAT);
         primaryStage.setScene(scene);  
         primaryStage.setTitle("一点教程网:Parallel Transition Example");
         primaryStage.show();  
   }        
   public static void main(String args[]){   
      launch(args);   
   }   
}  

输出结果为:

热门文章

优秀文章