動畫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();