public final class ParallelTransition extends Transition
Transition
plays a list of Animations
in parallel.
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);
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);
ParallelTransition pt = new ParallelTransition(rect, ft, tt, rt, st);
pt.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 Animation[] |
cachedChildren |
private <any> |
children |
private boolean |
childrenChanged |
private InvalidationListener |
childrenListener |
private java.util.Set<Animation> |
childrenSet |
private long |
cycleTime |
private static Node |
DEFAULT_NODE |
private long[] |
delays |
private long[] |
durations |
private static Animation[] |
EMPTY_ANIMATION_ARRAY |
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 boolean |
toggledRate |
clipEnvelope, INDEFINITE, parent, pulseReceiver
Constructor and Description |
---|
ParallelTransition()
The constructor of
ParallelTransition . |
ParallelTransition(AbstractMasterTimer timer) |
ParallelTransition(Animation... children)
The constructor of
ParallelTransition . |
ParallelTransition(Node node)
The constructor of
ParallelTransition . |
ParallelTransition(Node node,
Animation... children)
The constructor of
ParallelTransition . |
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() |
<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 |
jumpToEnd() |
private void |
jumpToStart() |
<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 double EPSILON
private Animation[] cachedChildren
private long[] durations
private long[] delays
private double[] rates
private long[] offsetTicks
private boolean[] forceChildSync
private long oldTicks
private long cycleTime
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 ParallelTransition(Node node, Animation... children)
ParallelTransition
.node
- The target javafx.scene.Node
to be used in child
Transitions
that have no Node
specified
themselveschildren
- The child Animations
of
this ParallelTransition
public ParallelTransition(Animation... children)
ParallelTransition
.children
- The child Animations
of
this ParallelTransition
public ParallelTransition(Node node)
ParallelTransition
.node
- The target javafx.scene.Node
to be used in child
Transitions
that have no Node
specified
themselvespublic ParallelTransition()
ParallelTransition
.ParallelTransition(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
ParallelTransition
. If the children are changed for a running
ParallelTransition
, the animation has to be stopped and started
again to pick up the new value.
Animations
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 boolean startChild(Animation child, int index)
void sync(boolean forceSync)
sync
in class Transition
void doPlayTo(long currentTicks, long cycleTicks)
doPlayTo
in class Transition
void doJumpTo(long currentTicks, long cycleTicks, boolean forceJump)
doJumpTo
in class Transition
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 positionprivate void jumpToEnd()
private void jumpToStart()