JavaFX FadeTransition类

它为节点的不透明度设置动画,使节点的填充颜色变得暗淡。这可以通过在指定的持续时间内不断降低填充颜色的不透明度来实现,以达到目标不透明度值。

在 JavaFX 中,类javafx.animation.FadeTransition表示 FadeTransition。我们需要实例化这个类以创建适当的淡入淡出过渡。

1 FadeTransition类的属性

属性 描述 setter方法
byValue 它是一个双重类型的属性。它表示渐变过渡的增量停止不透明度值。 setByValue(double property)
Duration 这是 Duration 类的对象类型属性。它代表此淡入淡出过渡的持续时间。 setDuration(Duration duration)
fromValue 这是一个双重类型的属性。它代表淡入淡出过渡的开始不透明度。 setFromValue(double value)
node 这是类 Node 的对象类型属性。这表示要应用转换的节点。 setNode(Node node)
toValue 这是一个双重类型的属性。这表示淡入淡出过渡的不透明度的停止值。 setToValue(double value)

2 FadeTransition类的构造函数

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

  1. public TranslateTransition() :使用默认参数创建TranslateTransition的新实例。
  2. public TranslateTransition(Duration duration) :创建具有指定持续时间的 TranslateTransition 的新实例。
  3. public TranslateTransition(Duration duration, Node node) :使用指定的持续时间和节点创建新的 Translate Transition 实例。

3 FadeTransition类的例子

在以下示例中,圆圈颜色的不透明度从 10 不断降低到 0.1。

package com.yiidian;

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

public class Fade_Transition extends Application {
  
    @Override  
    public void start(Stage primaryStage) throws Exception {
        //Creating the circle
        Circle cir = new Circle(250,120,80);
          
        //setting color and stroke of the circle   
        cir.setFill(Color.RED);  
        cir.setStroke(Color.BLACK);  
          
        //Instantiating FadeTransition class   
        FadeTransition fade = new FadeTransition();
          
          
        //setting the duration for the Fade transition   
        fade.setDuration(Duration.millis(5000));
          
        //setting the initial and the target opacity value for the transition   
        fade.setFromValue(10);  
        fade.setToValue(0.1);  
          
        //setting cycle count for the Fade transition   
        fade.setCycleCount(1000);  
          
        //the transition will set to be auto reversed by setting this to true   
        fade.setAutoReverse(true);  
          
        //setting Circle as the node onto which the transition will be applied  
        fade.setNode(cir);  
          
          
        //playing the transition   
        fade.play();  
          
        //Configuring Group and Scene   
        Group root = new Group();
        root.getChildren().addAll(cir);  
        Scene scene = new Scene(root,500,250, Color.WHEAT);
        primaryStage.setScene(scene);  
        primaryStage.setTitle("一点教程网:Fade Transition example");
        primaryStage.show();  
          
    }  
    public static void main(String[] args) {  
        launch(args);  
    }  
}  

输出结果为:

热门文章

优秀文章