JavaFX FillTransition类

它为节点的填充颜色设置动画,以便填充颜色可以在指定的持续时间内在两个颜色值之间波动。

在 JavaFX 中,类javafx.animation.FillTransition表示填充过渡。我们需要实例化此类以创建适当的填充过渡效果。

1 FillTransition类的属性

属性 描述 setter方法
duration 它是类 Duration 的对象类型属性。它代表填充过渡的持续时间。 setDuration(Duration duration)
fromValue 它是一个双重类型的属性。它表示填充过渡的起始颜色值。 setFromValue(Color value)
shape 它是类 Shape 的对象类型属性。它表示应用了填充过渡的形状。 setShape(Shape shape)
toValue 这是一个双重类型的属性。它表示填充过渡的停止颜色值。 setToValue(Color value)

2 FillTransition类的构造函数

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

  1. public FillTransition() :使用默认参数创建 FillTransition 的实例。
  2. public FillTransition(Duration duration) :创建具有指定持续时间的 FillTransition 的实例。
  3. public FillTransition(Duration duration, Color fromValue, Color toValue) :创建具有指定持续时间和开始和结束颜色值的 FillTransition 实例。
  4. public FillTransition(Duration duration, Shape shape) :创建具有指定持续时间的 FillTransition 实例和应用它的形状对象。
  5. public FillTransition(Duration duration, Shape shape, Color fromValue, Color toValue) :使用指定的持续时间、形状以及开始和结束颜色值创建 FillTransition 的新实例。

3 FillTransition类的例子

在以下示例中,我们制作了一个多边形并对其应用了填充过渡。初始颜色设置为黑色,而目标颜色设置为白色。多边形的填充颜色值在黑色和白色之间波动。

package com.yiidian;

import javafx.animation.FillTransition;
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 Fill_Transition extends Application {  
    
    public static void main(String[] args) {  
        launch(args);  
    }  
    
    @Override  
    public void start(Stage primaryStage) throws Exception {  
        //Creating Polygon   
        Polygon poly = new Polygon();  
          
        //Setting points for the polyogn  
        poly.getPoints().addAll(new Double[] {220.0,270.0,170.0,220.0,170.0,120.0,220.0,70.0,270.0,120.0,270.0,220.0});  
          
        //Setting Color and Stroke properties for the polygon    
        poly.setStroke(Color.BLACK);  
          
        //Instantiating Fill Transition class   
        FillTransition fill = new FillTransition();  
          
        //The transition will set to be auto reserved by setting this to true  
        fill.setAutoReverse(true);  
          
        //setting cycle count for the fill transition   
        fill.setCycleCount(50);  
          
        //setting duration for the Fill Transition   
        fill.setDuration(Duration.millis(1000));  
          
        //setting the Intital from value of the color  
        fill.setFromValue(Color.BLACK);  
          
        //setting the target value of the color  
        fill.setToValue(Color.WHITE);  
          
        //setting polygon as the shape onto which the fill transition will be applied   
        fill.setShape(poly);  
          
        //playing the fill transition   
        fill.play();  
          
        //Configuring Group and Scene   
        Group root = new Group();  
        root.getChildren().addAll(poly);  
        Scene scene = new Scene(root,420,400, Color.WHEAT);  
        primaryStage.setScene(scene);  
        primaryStage.setTitle("一点教程网:Fill Transition example");  
        primaryStage.show();  
          
        }  
}  
  

输出结果为:

热门文章

优秀文章