- java.lang.Object
-
- javafx.animation.Animation
-
- javafx.animation.Timeline
-
public final class Timeline extends Animation
ATimelinecan be used to define a free form animation of anyWritableValue, for example, allJavaFX Properties.A
Timeline, defined by one or moreKeyFrames, processes individualKeyFramesequentially, in the order specified byKeyFrame.time. The animated properties, defined as key values inKeyFrame.values, are interpolated to/from the targeted key values at the specified time of theKeyFrametoTimeline's initial position, depends onTimeline's direction.Timelineprocesses individualKeyFrameat or after specified time interval elapsed, it does not guarantee the timing whenKeyFrameis processed.The
Animation.cycleDurationProperty()will be set to the largest time value of Timeline's keyFrames.If a
KeyFrameis not provided for thetime==0sinstant, one will be synthesized using the target values that are current at the timeAnimation.play()orAnimation.playFromStart()is called.It is not possible to change the
keyFramesof a runningTimeline. If the value ofkeyFramesis changed for a runningTimeline, it has to be stopped and started again to pick up the new value.A simple Timeline can be created like this:
final Timeline timeline = new Timeline(); timeline.setCycleCount(2); timeline.setAutoReverse(true); timeline.getKeyFrames().add(new KeyFrame(Duration.millis(5000), new KeyValue (node.translateXProperty(), 25))); timeline.play();This Timeline will run for 10s, animating the node by x axis to value 25 and then back to 0 on the second cycle.
Warning: A running Timeline is being referenced from the FX runtime. Infinite Timeline might result in a memory leak if not stopped properly. All the objects with animated properties would not be garbage collected.
-
-
Property Summary
-
Properties inherited from class javafx.animation.Animation
autoReverse, currentRate, currentTime, cycleCount, cycleDuration, delay, onFinished, rate, status, totalDuration
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class javafx.animation.Animation
Animation.Status
-
-
Field Summary
-
Fields inherited from class javafx.animation.Animation
INDEFINITE
-
-
Constructor Summary
Constructors Constructor Description Timeline()The constructor ofTimeline.Timeline(double targetFramerate)The constructor ofTimeline.Timeline(double targetFramerate, KeyFrame... keyFrames)The constructor ofTimeline.Timeline(KeyFrame... keyFrames)The constructor ofTimeline.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ObservableList<KeyFrame>getKeyFrames()Returns theKeyFramesof thisTimeline.voidstop()Stops the animation and resets the play head to its initial position.-
Methods inherited from class javafx.animation.Animation
autoReverseProperty, currentRateProperty, currentTimeProperty, cycleCountProperty, cycleDurationProperty, delayProperty, getCuePoints, getCurrentRate, getCurrentTime, getCycleCount, getCycleDuration, getDelay, getOnFinished, getRate, getStatus, getTargetFramerate, getTotalDuration, isAutoReverse, jumpTo, jumpTo, onFinishedProperty, pause, play, playFrom, playFrom, playFromStart, rateProperty, setAutoReverse, setCycleCount, setCycleDuration, setDelay, setOnFinished, setRate, setStatus, statusProperty, totalDurationProperty
-
-
-
-
Constructor Detail
-
Timeline
public Timeline(double targetFramerate, KeyFrame... keyFrames)The constructor ofTimeline. This constructor allows to define aAnimation.targetFramerate.- Parameters:
targetFramerate- The custom target frame rate for thisTimelinekeyFrames- The keyframes of thisTimeline
-
Timeline
public Timeline(KeyFrame... keyFrames)
The constructor ofTimeline.- Parameters:
keyFrames- The keyframes of thisTimeline
-
Timeline
public Timeline(double targetFramerate)
The constructor ofTimeline. This constructor allows to define aAnimation.targetFramerate.- Parameters:
targetFramerate- The custom target frame rate for thisTimeline
-
Timeline
public Timeline()
The constructor ofTimeline.
-
-
Method Detail
-
getKeyFrames
public final ObservableList<KeyFrame> getKeyFrames()
Returns theKeyFramesof thisTimeline.- Returns:
- the
KeyFrames
-
-