JavaFX StokeTransition类
它为节点的笔触颜色设置动画,以便笔触颜色可以在指定的持续时间内在两个颜色值之间波动。
在 JavaFX 中,类 javafx.animation.FillTransition 表示填充过渡。我们需要实例化此类以创建适当的填充过渡。
1 StokeTransition类的属性
属性 | 描述 | setter方法 |
---|---|---|
duration | 这是 Duration 类的对象类型属性。它代表笔画过渡的持续时间。 | setDuration(Duration duration) |
fromValue | 这是一个颜色类型属性。它表示笔画过渡颜色的初始值。 | setFromValue(Color value) |
shape | 这是 Shape 类的对象类型属性。它表示将应用描边过渡的形状。 | setShape(Shape shape) |
toValue | 这是颜色类型属性。它表示笔画过渡颜色的目标值。 | setToValue(Color value) |
2 StokeTransition类的构造函数
该类包含下面给出的五个构造函数。
- public StokeTransition() :使用默认参数创建新的 StrokeTransition 实例。
- public StokeTransition(Duration duration) :创建具有指定持续时间值的 Stroke Transition 的新实例
- public StokeTransition(Duration duration, Color fromValue, Color toValue) :使用指定的持续时间、颜色的初始值和颜色的目标值创建新的 StrokeTransition 实例。
- public StokeTransition(Duration duration, Shape shape) :使用指定的持续时间和要应用过渡的形状创建 StrokeTransition 的新实例。
- public StokeTransition(Duration duration, Shape shape, Color fromValue, Color toValue) :使用指定的持续时间、形状、颜色的初始值和颜色的目标值创建新的 StrokeTransition 实例。
3 StokeTransition类的例子
在以下示例中,圆圈的笔触从黑色变为紫色。
package com.yiidian;
import javafx.animation.StrokeTransition;
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 Stroke_Transition extends Application {
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) throws Exception {
//Creating Circle
Circle cir = new Circle(200,150,100);
//Setting stroke and color for the circle
cir.setStroke(Color.BLUE);
cir.setFill(Color.RED);
cir.setStrokeWidth(10);
//Instantiating StrokeTransition class
StrokeTransition stroke = new StrokeTransition();
//The transition will set to be auto reserved by setting this to true
stroke.setAutoReverse(true);
//setting cycle count for the Stroke transition
stroke.setCycleCount(500);
//setting duration for the Stroke Transition
stroke.setDuration(Duration.millis(500));
//setting the Initial from value of the Stroke color
stroke.setFromValue(Color.BLACK);
//setting the target value of the Stroke color
stroke.setToValue(Color.PURPLE);
//setting polygon as the shape onto which the Stroke transition will be applied
stroke.setShape(cir);
//playing the Stroke transition
stroke.play();
//Configuring Group and Scene
Group root = new Group();
root.getChildren().addAll(cir);
Scene scene = new Scene(root,420,300,Color.WHEAT);
primaryStage.setScene(scene);
primaryStage.setTitle("一点教程网:Stroke Transition example");
primaryStage.show();
}
}
输出结果为:
热门文章
优秀文章