JavaFX RotateTransition类

此过渡用于在节点上应用旋转过渡。它在指定的持续时间内沿三个轴中的任何一个轴旋转节点。

RotateTransition 由类javafx.animation.RotateTransition表示。我们只需要实例化这个类来生成一个合适的 RotateTransition。

1 RotateTransition类的属性

属性 描述 setter方法
axis 这是 Point3D 类的对象类型属性。这表示旋转过渡的轴。 ssetAxis(Point3D value)
byAngle 这是一个双重类型的属性。这表示对象将旋转的角度。 setByAngle(double value)
duration 这是 Duration 类的对象类型属性。这表示旋转过渡的持续时间。 setDuration(Duration value)
fromAngle 它是一个双重类型的属性。它表示旋转过渡的起始角度。 setFromAngle(double value)
node 它是类 Node 的对象类型属性。它表示要应用旋转过渡的节点。 setNode(Node value)
toAngle 它是一个双重类型的属性。它表示旋转过渡的停止角度值。 setToAngle(double value)

2 RotateTransition类的构造函数

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

  1. public RotateTransition() :使用默认参数创建RotateTransition的新实例。
  2. public RotateTransition(Duration duration) :使用指定的持续时间值创建 RotateTransition 的新实例
  3. public RotateTransition(Duration duration, Node node):使用指定的持续时间值和应用它的节点创建 RotateTransition 的新实例。

3  RotateTransition类的例子

在以下示例中,我们制作了一个沿 Z 轴旋转 360 度的矩形。

package com.yiidian;

import javafx.animation.RotateTransition;
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.paint.Color;
import javafx.scene.shape.Rectangle;
import javafx.scene.transform.Rotate;
import javafx.stage.Stage;
import javafx.util.Duration;

public class Rotate_Transition extends Application {  
  
    @Override  
    public void start(Stage primaryStage) throws Exception {  
      
        //Creating Rectangle   
        Rectangle rect = new Rectangle(200,100,200,200);  
        rect.setFill(Color.LIMEGREEN);  
        rect.setStroke(Color.HOTPINK);  
        rect.setStrokeWidth(5);  
          
        //Instantiating RotateTransition class   
        RotateTransition rotate = new RotateTransition();  
          
        //Setting Axis of rotation   
        rotate.setAxis(Rotate.Z_AXIS);  
          
        // setting the angle of rotation   
        rotate.setByAngle(360);  
          
        //setting cycle count of the rotation   
        rotate.setCycleCount(500);  
          
        //Setting duration of the transition   
        rotate.setDuration(Duration.millis(1000));  
          
        //the transition will be auto reversed by setting this to true   
        rotate.setAutoReverse(true);  
              
        //setting Rectangle as the node onto which the   
        // transition will be applied  
        rotate.setNode(rect);  
          
        //playing the transition   
        rotate.play();  
          
        //Configuring Group and Scene   
        Group root = new Group();  
        root.getChildren().add(rect);  
        Scene scene = new Scene(root,600,400,Color.BLACK);  
        primaryStage.setScene(scene);  
        primaryStage.setTitle("一点教程网:Rotate Transition example");  
        primaryStage.show();  
          
    }  
    public static void main(String[] args) {  
        launch(args);  
    }  
  
}  

输出结果为:

热门文章

优秀文章