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类的构造函数
该类包含下面给出的五个构造函数。
- public FillTransition() :使用默认参数创建 FillTransition 的实例。
- public FillTransition(Duration duration) :创建具有指定持续时间的 FillTransition 的实例。
- public FillTransition(Duration duration, Color fromValue, Color toValue) :创建具有指定持续时间和开始和结束颜色值的 FillTransition 实例。
- public FillTransition(Duration duration, Shape shape) :创建具有指定持续时间的 FillTransition 实例和应用它的形状对象。
- 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();
}
}
输出结果为:
热门文章
优秀文章