Animation 使用时间轴设置圆弧动画

Animation 使用时间轴设置圆弧动画,animation,javafx-2,javafx,Animation,Javafx 2,Javafx,在我的smithchart项目中,我正在尝试为圆弧设置动画。我通过f计算开始和停止角度,f返回一个双精度值,但找不到使用该角度的方法。点是具有双重类型的角度不能用于接受WriteableValue的KeyValue double angle; angle = f(); KeyValue keyAngle = new KayValue(angle, 360.0); 此外,将角度转换为WritableValue也没有效果。 有什么方法可以实现这一点吗?动画API使用属性(实现WritableVal

在我的smithchart项目中,我正在尝试为圆弧设置动画。我通过f计算开始和停止角度,f返回一个双精度值,但找不到使用该角度的方法。点是具有双重类型的角度不能用于接受WriteableValue的KeyValue

double angle;
angle = f();
KeyValue keyAngle = new KayValue(angle, 360.0);
此外,将角度转换为WritableValue也没有效果。
有什么方法可以实现这一点吗?

动画API使用属性(实现WritableValue)。因此,如果要使用动画更改圆弧的
startAngle
,则应将
arc#startAngleProperty()
提供给
KeyValue

    KeyValue kv = new KeyValue(arc.startAngleProperty(), my_double_angle_value);
动画圆弧的一个示例:

    Arc arc = ArcBuilder.create()
            .centerX(150)
            .centerY(150)
            .radiusX(100)
            .radiusY(50)
            .startAngle(0)
            .length(30)
            .type(ArcType.ROUND)
            .fill(Color.RED)
            .build();

    Pane root = new Pane();
    root.getChildren().add(arc);

    Scene scene = new Scene(root, 300, 250);
    primaryStage.setTitle("Hello Arc!");
    primaryStage.setScene(scene);
    primaryStage.show();

    KeyValue kv = new KeyValue(arc.startAngleProperty(), 360);
    KeyFrame kf = new KeyFrame(Duration.seconds(3), kv);

    Timeline timeline = new Timeline();
    timeline.setAutoReverse(false);
    timeline.setCycleCount(Timeline.INDEFINITE);
    timeline.getKeyFrames().add(kf);
    timeline.play();