Class Timeline
Timeline can be used to define a free form animation of any
WritableValue, for example, all
JavaFX Properties.
A Timeline, defined by one or more KeyFrames, processes
individual KeyFrames sequentially, in the order specified by
KeyFrame.time. The animated properties, defined as key values in
KeyFrame.values, are interpolated
to/from the targeted key values at the specified time of the KeyFrame
to Timeline's initial position, depends on Timeline's
direction.
Timeline processes an individual KeyFrame at or after the specified
time interval elapsed, it does not guarantee the exact time when a KeyFrame
is processed.
If a KeyFrame is not provided for the time==0s instant, one
will be synthesized using the target values that are current at the time
Animation.play() or Animation.playFromStart() are called.
It is not possible to change the keyFrames of a running Timeline.
If the value of keyFrames is changed for a running Timeline, it
has to be stopped and started again to pick up the new value.
The Animation.cycleDurationProperty() will be set to the largest time value
of Timeline's keyFrames.
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.
- Since:
- JavaFX 2.0
- See Also:
-
Nested Class Summary
Nested classes/interfaces declared in class Animation
Animation.Status -
Property Summary
Properties declared in class Animation
autoReverse, currentRate, currentTime, cycleCount, cycleDuration, delay, onFinished, rate, status, totalDurationTypePropertyDescriptionfinal BooleanPropertyDefines whether thisAnimationreverses direction on alternating cycles.final ReadOnlyDoublePropertyRead-only variable to indicate current direction/speed at which theAnimationis being played.final ReadOnlyObjectProperty<Duration> Defines theAnimation's play head position.final IntegerPropertyDefines the number of cycles in this animation.final ReadOnlyObjectProperty<Duration> Read-only variable to indicate the duration of one cycle of thisAnimation: the time it takes to play from time 0 to the end of the Animation (at the defaultrateof 1.0).final ObjectProperty<Duration> Delays the start of an animation.final ObjectProperty<EventHandler<ActionEvent>> The action to be executed at the conclusion of thisAnimation.final DoublePropertyDefines the direction/speed at which theAnimationis expected to be played.The status of theAnimation.final ReadOnlyObjectProperty<Duration> Read-only variable to indicate the total duration of thisAnimation, including repeats. -
Field Summary
Fields declared in class Animation
INDEFINITEModifier and TypeFieldDescriptionstatic final intUsed as a value forcycleCountto specify an animation that repeats indefinitely, until thestop()method is called. -
Constructor Summary
ConstructorsConstructorDescriptionTimeline()Creates aTimelinewith no key frames.Timeline(double targetFramerate) Creates aTimelinewith no key frames and a target framerate.Creates aTimelinewith the provided key frames and a target framerate.Creates aTimelinewith the provided key frames. -
Method Summary
Modifier and TypeMethodDescriptionfinal ObservableList<KeyFrame> Returns theKeyFramesof thisTimeline.Methods declared in class 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, stop, totalDurationPropertyModifier and TypeMethodDescriptionfinal BooleanPropertyDefines whether thisAnimationreverses direction on alternating cycles.final ReadOnlyDoublePropertyRead-only variable to indicate current direction/speed at which theAnimationis being played.final ReadOnlyObjectProperty<Duration> Defines theAnimation's play head position.final IntegerPropertyDefines the number of cycles in this animation.final ReadOnlyObjectProperty<Duration> Read-only variable to indicate the duration of one cycle of thisAnimation: the time it takes to play from time 0 to the end of the Animation (at the defaultrateof 1.0).final ObjectProperty<Duration> Delays the start of an animation.final ObservableMap<String, Duration> The cue points can be used to mark important positions of theAnimation.final doubleGets the value of thecurrentRateproperty.final DurationGets the value of thecurrentTimeproperty.final intGets the value of thecycleCountproperty.final DurationGets the value of thecycleDurationproperty.final DurationgetDelay()Gets the value of thedelayproperty.final EventHandler<ActionEvent> Gets the value of theonFinishedproperty.final doublegetRate()Gets the value of therateproperty.final Animation.StatusGets the value of thestatusproperty.final doubleThe target framerate is the maximum framerate at which thisAnimationwill run, in frames per second.final DurationGets the value of thetotalDurationproperty.final booleanGets the value of theautoReverseproperty.voidJumps to a predefined position in thisAnimation.voidJumps to a given position in thisAnimation.final ObjectProperty<EventHandler<ActionEvent>> The action to be executed at the conclusion of thisAnimation.voidpause()Pauses the animation.voidplay()PlaysAnimationfrom current position in the direction indicated byrate.voidA convenience method to play thisAnimationfrom a predefined position.voidA convenience method to play thisAnimationfrom a specific position.voidPlays anAnimationfrom initial position in forward direction.final DoublePropertyDefines the direction/speed at which theAnimationis expected to be played.final voidsetAutoReverse(boolean value) Sets the value of theautoReverseproperty.final voidsetCycleCount(int value) Sets the value of thecycleCountproperty.protected final voidsetCycleDuration(Duration value) Sets the value of thecycleDurationproperty.final voidSets the value of thedelayproperty.final voidsetOnFinished(EventHandler<ActionEvent> value) Sets the value of theonFinishedproperty.final voidsetRate(double value) Sets the value of therateproperty.protected final voidsetStatus(Animation.Status value) Sets the value of thestatusproperty.The status of theAnimation.voidstop()Stops the animation and resets the play head to its initial position.final ReadOnlyObjectProperty<Duration> Read-only variable to indicate the total duration of thisAnimation, including repeats.
-
Constructor Details
-
Timeline
Creates aTimelinewith the provided key frames and a target framerate. The key frames do not need to be ordered.- Parameters:
targetFramerate- the custom target frame rate for thisTimelinekeyFrames- the keyframes of thisTimeline
-
Timeline
Creates aTimelinewith the provided key frames. The key frames do not need to be ordered.- Parameters:
keyFrames- the keyframes of thisTimeline
-
Timeline
public Timeline(double targetFramerate) Creates aTimelinewith no key frames and a target framerate.- Parameters:
targetFramerate- the custom target frame rate for thisTimeline
-
Timeline
public Timeline()Creates aTimelinewith no key frames.
-
-
Method Details