Timeline can be used to define a free form animation of any
javafx.beans.value.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
play() or 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 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.
Animation, KeyFrame, KeyValue
| Modifier and Type | Field and Description |
|---|---|
| pack-priv final TimelineClipCore | |
| private final ObservableList |
| Access | Constructor and Description |
|---|---|
| public | Timeline(double
the custom target frame rate for this targetFramerate, KeyFrame... Timelinethe keyframes of this keyFrames)TimelineCreates a |
| public | |
| public | Timeline(double
the custom target frame rate for this targetFramerate)TimelineCreates a |
| public | |
| pack-priv |
| Modifier and Type | Method and Description |
|---|---|
| pack-priv void | doJumpTo(long currentTicks, long cycleTicks, boolean forceJump)
Implements abstract javafx.
|
| pack-priv void | doPlayTo(long currentTicks, long cycleTicks)
Implements abstract javafx.
|
| pack-priv void | |
| public final ObservableList | |
| pack-priv void | |
| pack-priv void | stopImpl()
Overrides javafx. This method must be run on the JavaFX Application Thread. |
| clipCore | back to summary |
|---|---|
| pack-priv final TimelineClipCore clipCore | |
| keyFrames | back to summary |
|---|---|
| private final ObservableList<KeyFrame> keyFrames | |
| Timeline | back to summary |
|---|---|
| public Timeline(double targetFramerate, KeyFrame... keyFrames) Creates a
| |
| Timeline | back to summary |
|---|---|
| public Timeline(KeyFrame... keyFrames) Creates a
| |
| Timeline | back to summary |
|---|---|
| public Timeline(double targetFramerate) Creates a
| |
| Timeline | back to summary |
|---|---|
| public Timeline() Creates a | |
| Timeline | back to summary |
|---|---|
| pack-priv Timeline(final AbstractPrimaryTimer timer) | |
| doJumpTo | back to summary |
|---|---|
| pack-priv void doJumpTo(long currentTicks, long cycleTicks, boolean forceJump) Implements abstract javafx.
| |
| doPlayTo | back to summary |
|---|---|
| pack-priv void doPlayTo(long currentTicks, long cycleTicks) Implements abstract javafx.
| |
| doStart | back to summary |
|---|---|
| pack-priv void doStart(boolean forceSync) Overrides javafx.
| |
| getKeyFrames | back to summary |
|---|---|
| public final ObservableList Returns the
| |
| setCurrentRate | back to summary |
|---|---|
| pack-priv void setCurrentRate(double currentRate) Overrides javafx.
| |
| stopImpl | back to summary |
|---|---|
| pack-priv void stopImpl() Overrides javafx. Doc from javafx. This method must be run on the JavaFX Application Thread.
| |