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
Animation.Status
Modifier and Type | Field and Description |
---|---|
private Animation[] |
cachedChildren |
private ObservableList<Animation> |
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 ObjectProperty<Node> |
node
|
private long[] |
offsetTicks |
private long |
oldTicks |
private ChangeListener<java.lang.Number> |
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() |
ObservableList<Animation> |
getChildren()
A list of
Animations that will be
played sequentially. |
Node |
getNode() |
protected Node |
getParentTargetNode()
Returns the target
Node for animation of this Transition . |
void |
impl_jumpTo(long currentTicks,
long cycleTicks,
boolean forceJump)
Deprecated.
This is an internal API that is not intended for use and will be removed in the next version
|
(package private) void |
impl_pause() |
void |
impl_playTo(long currentTicks,
long cycleTicks)
Deprecated.
This is an internal API that is not intended for use and will be removed in the next version
|
(package private) void |
impl_resume() |
(package private) void |
impl_start(boolean forceSync) |
(package private) void |
impl_stop() |
(package private) void |
impl_sync(boolean forceSync) |
protected void |
interpolate(double frac)
The method
interpolate() has to be provided by implementations of
Transition . |
private void |
jumpToEnd() |
private void |
jumpToStart() |
ObjectProperty<Node> |
nodeProperty() |
void |
setNode(Node value) |
private boolean |
startChild(Animation child,
int index) |
getCachedInterpolator, getInterpolator, impl_startable, interpolatorProperty, setInterpolator
autoReverseProperty, currentRateProperty, currentTimeProperty, cycleCountProperty, cycleDurationProperty, delayProperty, getCuePoints, getCurrentRate, getCurrentTime, getCycleCount, getCycleDuration, getDelay, getOnFinished, getRate, getStatus, getTargetFramerate, getTotalDuration, impl_finished, impl_setCurrentRate, impl_setCurrentTicks, impl_timePulse, isAutoReverse, jumpTo, jumpTo, onFinishedProperty, pause, pauseReceiver, play, playFrom, playFrom, playFromStart, rateProperty, resumeReceiver, setAutoReverse, setCycleCount, setCycleDuration, setDelay, setOnFinished, setRate, setStatus, startReceiver, statusProperty, stop, totalDurationProperty
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 ChangeListener<java.lang.Number> rateListener
private ObjectProperty<Node> node
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 ObservableList<Animation> children
public ParallelTransition(Node node, Animation... children)
ParallelTransition
.node
- The target 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 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 ObjectProperty<Node> nodeProperty()
public final ObservableList<Animation> 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()
Node
for animation of this Transition
.
This method returns node
if it is set, else returns its
parent.getTargetNode()
otherwise null.getParentTargetNode
in class Transition
private Duration computeCycleDuration()
private double calculateFraction(long currentTicks, long cycleTicks)
private boolean startChild(Animation child, int index)
void impl_sync(boolean forceSync)
impl_sync
in class Transition
void impl_pause()
impl_pause
in class Animation
void impl_resume()
impl_resume
in class Animation
void impl_start(boolean forceSync)
impl_start
in class Animation
@Deprecated public void impl_playTo(long currentTicks, long cycleTicks)
impl_playTo
in class Transition
@Deprecated public void impl_jumpTo(long currentTicks, long cycleTicks, boolean forceJump)
impl_jumpTo
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()