public final class SequentialTransition extends Transition
Transition
plays a list of Animations
in sequential order.
Children of this Transition
inherit node
, if their
node
property is not specified.
Code Segment Example:
Rectangle rect = new Rectangle (100, 40, 100, 100);
rect.setArcHeight(50);
rect.setArcWidth(50);
rect.setFill(Color.VIOLET);
final Duration SEC_2 = Duration.millis(2000);
final Duration SEC_3 = Duration.millis(3000);
PauseTransition pt = new PauseTransition(Duration.millis(1000));
FadeTransition ft = new FadeTransition(SEC_3);
ft.setFromValue(1.0f);
ft.setToValue(0.3f);
ft.setCycleCount(2f);
ft.setAutoReverse(true);
TranslateTransition tt = new TranslateTransition(SEC_2);
tt.setFromX(-100f);
tt.setToX(100f);
tt.setCycleCount(2f);
tt.setAutoReverse(true);
RotateTransition rt = new RotateTransition(SEC_3);
rt.setByAngle(180f);
rt.setCycleCount(4f);
rt.setAutoReverse(true);
ScaleTransition st = new ScaleTransition(SEC_2);
st.setByX(1.5f);
st.setByY(1.5f);
st.setCycleCount(2f);
st.setAutoReverse(true);
SequentialTransition seqT = new SequentialTransition (rect, pt, ft, tt, rt, st);
seqT.play();
Transition
,
Animation
Type | Property and Description |
---|---|
<any> |
node
This
javafx.scene.Node is used in all child Transitions , that do not define a target Node themselves. |
interpolatorProperty
autoReverseProperty, currentRateProperty, currentTimeProperty, cycleCountProperty, cycleDurationProperty, delayProperty, onFinishedProperty, rateProperty, statusProperty, totalDurationProperty
Animation.Status
Modifier and Type | Field and Description |
---|---|
private static int |
BEFORE |
private Animation[] |
cachedChildren |
private <any> |
children |
private boolean |
childrenChanged |
private InvalidationListener |
childrenListener |
private java.util.Set<Animation> |
childrenSet |
private int |
curIndex |
private static Node |
DEFAULT_NODE |
private long[] |
delays |
private long[] |
durations |
private static Animation[] |
EMPTY_ANIMATION_ARRAY |
private int |
end |
private static double |
EPSILON |
private boolean[] |
forceChildSync |
private <any> |
node
This
javafx.scene.Node is used in all child Transitions , that do not define a target Node themselves. |
private long |
offsetTicks |
private long |
oldTicks |
private <any> |
rateListener |
private double[] |
rates |
private long[] |
startTimes |
private boolean |
toggledRate |
clipEnvelope, INDEFINITE, parent, pulseReceiver
Constructor and Description |
---|
SequentialTransition()
The constructor of
SequentialTransition . |
SequentialTransition(AbstractMasterTimer timer) |
SequentialTransition(Animation... children)
The constructor of
SequentialTransition . |
SequentialTransition(Node node)
The constructor of
SequentialTransition . |
SequentialTransition(Node node,
Animation... children)
The constructor of
SequentialTransition . |
Modifier and Type | Method and Description |
---|---|
private double |
calculateFraction(long currentTicks,
long cycleTicks) |
private static boolean |
checkCycle(Animation child,
Animation parent) |
private Duration |
computeCycleDuration() |
(package private) void |
doJumpTo(long currentTicks,
long cycleTicks,
boolean forceJump) |
(package private) void |
doPause() |
(package private) void |
doPlayTo(long currentTicks,
long cycleTicks) |
(package private) void |
doResume() |
(package private) void |
doStart(boolean forceSync) |
(package private) void |
doStop() |
private int |
findNewIndex(long ticks) |
<any> |
getChildren()
A list of
Animations that will be
played sequentially. |
Node |
getNode()
Gets the value of the property node.
|
protected Node |
getParentTargetNode()
Returns the first non-
null target Node in the parent hierarchy of
this Transition , or null if such a node is not found. |
protected void |
interpolate(double frac)
The method
interpolate() has to be provided by implementations of
Transition . |
private void |
jumpToBefore() |
private void |
jumpToEnd() |
<any> |
nodeProperty()
This
javafx.scene.Node is used in all child Transitions , that do not define a target Node themselves. |
void |
setNode(Node value)
Sets the value of the property node.
|
private boolean |
startChild(Animation child,
int index) |
(package private) void |
sync(boolean forceSync) |
getCachedInterpolator, getInterpolator, interpolatorProperty, setInterpolator, startable
autoReverseProperty, currentRateProperty, currentTimeProperty, cycleCountProperty, cycleDurationProperty, delayProperty, doTimePulse, finished, getCuePoints, getCurrentRate, getCurrentTime, getCycleCount, getCycleDuration, getDelay, getOnFinished, getRate, getStatus, getTargetFramerate, getTotalDuration, isAutoReverse, jumpTo, onFinishedProperty, pause, pauseReceiver, play, playFrom, playFrom, playFromStart, rateProperty, resumeReceiver, setAutoReverse, setCurrentRate, setCurrentTicks, setCycleCount, setCycleDuration, setDelay, setOnFinished, setRate, setStatus, startReceiver, statusProperty, stop, totalDurationProperty
public final <any> nodeProperty
javafx.scene.Node
is used in all child Transitions
, that do not define a target Node
themselves. This
can be used if a number of Transitions
should be applied to a
single Node
.
It is not possible to change the target node
of a running
Transition
. If the value of node
is changed for a
running Transition
, the animation has to be stopped and started again to
pick up the new value.
getNode()
,
setNode(Node)
private static final Animation[] EMPTY_ANIMATION_ARRAY
private static final int BEFORE
private static final double EPSILON
private Animation[] cachedChildren
private long[] startTimes
private long[] durations
private long[] delays
private double[] rates
private boolean[] forceChildSync
private int end
private int curIndex
private long oldTicks
private long offsetTicks
private boolean childrenChanged
private boolean toggledRate
private final InvalidationListener childrenListener
private final <any> rateListener
private <any> node
javafx.scene.Node
is used in all child Transitions
, that do not define a target Node
themselves. This
can be used if a number of Transitions
should be applied to a
single Node
.
It is not possible to change the target node
of a running
Transition
. If the value of node
is changed for a
running Transition
, the animation has to be stopped and started again to
pick up the new value.
private static final Node DEFAULT_NODE
private final java.util.Set<Animation> childrenSet
private final <any> children
public SequentialTransition(Node node, Animation... children)
SequentialTransition
.node
- The target javafx.scene.Node
to be used in child
Transitions
that have no Node
specified
themselveschildren
- The child Animations
of
this SequentialTransition
public SequentialTransition(Animation... children)
SequentialTransition
.children
- The child Animations
of
this SequentialTransition
public SequentialTransition(Node node)
SequentialTransition
.node
- The target javafx.scene.Node
to be used in child
Transitions
that have no Node
specified
themselvespublic SequentialTransition()
SequentialTransition
.SequentialTransition(AbstractMasterTimer timer)
public final void setNode(Node value)
public final Node getNode()
public final <any> nodeProperty()
javafx.scene.Node
is used in all child Transitions
, that do not define a target Node
themselves. This
can be used if a number of Transitions
should be applied to a
single Node
.
It is not possible to change the target node
of a running
Transition
. If the value of node
is changed for a
running Transition
, the animation has to be stopped and started again to
pick up the new value.
getNode()
,
setNode(Node)
public final <any> getChildren()
Animations
that will be
played sequentially.
It is not possible to change the children of a running
SequentialTransition
. If the children are changed for a running
SequentialTransition
, the animation has to be stopped and started
again to pick up the new value.
protected Node getParentTargetNode()
null
target Node
in the parent hierarchy of
this Transition
, or null
if such a node is not found.
A parent animation is one that can have child animations. Examples are
SequentialTransition
and
ParallelTransition
. A parent animation can
also be a child of another parent animation.
Note that if this Transition
has a target node set and is not a parent animation,
it will be ignored during the call as this method only queries parent animations.
getParentTargetNode
in class Transition
Node
private Duration computeCycleDuration()
private double calculateFraction(long currentTicks, long cycleTicks)
private int findNewIndex(long ticks)
void sync(boolean forceSync)
sync
in class Transition
private boolean startChild(Animation child, int index)
void doPlayTo(long currentTicks, long cycleTicks)
doPlayTo
in class Transition
void doJumpTo(long currentTicks, long cycleTicks, boolean forceJump)
doJumpTo
in class Transition
private void jumpToEnd()
private void jumpToBefore()
protected void interpolate(double frac)
interpolate()
has to be provided by implementations of
Transition
. While a Transition
is running, this method is
called in every frame.
The parameter defines the current position with the animation. At the
start, the fraction will be 0.0
and at the end it will be
1.0
. How the parameter increases, depends on the
interpolator
, e.g. if the
interpolator
is Interpolator.LINEAR
, the fraction will
increase linear.
This method must not be called by the user directly.interpolate
in class Transition
frac
- The relative position