Animation 时间线与x27之间的差异;s停止()并跳到(“结束”)
有人能给我解释一下Animation 时间线与x27之间的差异;s停止()并跳到(“结束”),animation,javafx,javafx-8,Animation,Javafx,Javafx 8,有人能给我解释一下timeline.stop()和timeline.jumpTo(“end”)之间的区别吗?timeline.stop()停止动画,并确保timeline.play()从动画开始就开始;“当前运行”不再进行更新 timeline.jumpTo(“end”)转到位于动画末尾的标记“end”。这与timeline.jumpTo(timeline.getTotalDuration())的效果相同。此时到达的动画的任何效果都将被执行 您可以在以下示例中观察不同的行为: @Override
timeline.stop()
和timeline.jumpTo(“end”)
之间的区别吗?timeline.stop()
停止动画,并确保timeline.play()
从动画开始就开始;“当前运行”不再进行更新
timeline.jumpTo(“end”)
转到位于动画末尾的标记“end”
。这与timeline.jumpTo(timeline.getTotalDuration())
的效果相同。此时到达的动画的任何效果都将被执行
您可以在以下示例中观察不同的行为:
@Override
public void start(Stage primaryStage) {
Button btn = new Button("Play / (Stop/Jump)");
Timeline timeline = new Timeline(
new KeyFrame(Duration.ZERO, new KeyValue(btn.translateXProperty(), 0d)),
new KeyFrame(Duration.seconds(10), new KeyValue(btn.translateXProperty(), 200d))
);
btn.setOnAction((ActionEvent event) -> {
if (timeline.getStatus() == Animation.Status.RUNNING) {
// timeline.jumpTo("end");
timeline.stop();
} else {
timeline.play();
}
});
StackPane root = new StackPane();
root.getChildren().add(btn);
Scene scene = new Scene(root, 400, 400);
primaryStage.setScene(scene);
primaryStage.show();
}
timeline.jumpTo(“end”)
将按钮移动到动画的终点,timeline.stop()
将按钮停止在当前位置