public final class PathTransition extends Transition
Transition
creates a path animation that spans its
duration
. The translation along the path is done by updating the
translateX
and translateY
variables of the node
, and
the rotate
variable will get updated if orientation
is set to
OrientationType.ORTHOGONAL_TO_TANGENT
, at regular interval.
The animated path is defined by the outline of a shape.
Code Segment Example:
import javafx.scene.shape.*;
import javafx.animation.transition.*;
...
Rectangle rect = new Rectangle (100, 40, 100, 100);
rect.setArcHeight(50);
rect.setArcWidth(50);
rect.setFill(Color.VIOLET);
Path path = new Path();
path.getElements().add (new MoveTo (0f, 50f));
path.getElements().add (new CubicCurveTo (40f, 10f, 390f, 240f, 1904, 50f));
pathTransition.setDuration(Duration.millis(10000));
pathTransition.setNode(rect);
pathTransition.setPath(path);
pathTransition.setOrientation(OrientationType.ORTHOGONAL_TO_TANGENT);
pathTransition.setCycleCount(4f);
pathTransition.setAutoReverse(true);
pathTransition.play();
...
Transition
,
Animation
Type | Property and Description |
---|---|
ObjectProperty<Duration> |
duration
The duration of this
Transition . |
ObjectProperty<Node> |
node
The target node of this
PathTransition . |
ObjectProperty<PathTransition.OrientationType> |
orientation
Specifies the upright orientation of
node along the path . |
ObjectProperty<Shape> |
path
The shape on which outline the node should be animated.
|
interpolator
autoReverse, currentRate, currentTime, cycleCount, cycleDuration, delay, onFinished, rate, status, totalDuration
Modifier and Type | Class and Description |
---|---|
static class |
PathTransition.OrientationType
Specifies the upright orientation of
node along the path . |
Animation.Status
INDEFINITE
Constructor and Description |
---|
PathTransition()
The constructor of
PathTransition . |
PathTransition(Duration duration,
Shape path)
The constructor of
PathTransition . |
PathTransition(Duration duration,
Shape path,
Node node)
The constructor of
PathTransition . |
Modifier and Type | Method and Description |
---|---|
ObjectProperty<Duration> |
durationProperty()
The duration of this
Transition . |
Duration |
getDuration()
Gets the value of the property duration.
|
Node |
getNode()
Gets the value of the property node.
|
PathTransition.OrientationType |
getOrientation()
Gets the value of the property orientation.
|
Shape |
getPath()
Gets the value of the property path.
|
void |
interpolate(double frac)
The method
interpolate() has to be provided by implementations of
Transition . |
ObjectProperty<Node> |
nodeProperty()
The target node of this
PathTransition . |
ObjectProperty<PathTransition.OrientationType> |
orientationProperty()
Specifies the upright orientation of
node along the path . |
ObjectProperty<Shape> |
pathProperty()
The shape on which outline the node should be animated.
|
void |
setDuration(Duration value)
Sets the value of the property duration.
|
void |
setNode(Node value)
Sets the value of the property node.
|
void |
setOrientation(PathTransition.OrientationType value)
Sets the value of the property orientation.
|
void |
setPath(Shape value)
Sets the value of the property path.
|
getCachedInterpolator, getInterpolator, getParentTargetNode, interpolatorProperty, setInterpolator
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, totalDurationProperty
public final ObjectProperty<Node> nodeProperty
PathTransition
.
It is not possible to change the target node
of a running
PathTransition
. If the value of node
is changed for a
running PathTransition
, the animation has to be stopped and
started again to pick up the new value.
getNode()
,
setNode(Node)
public final ObjectProperty<Duration> durationProperty
Transition
.
It is not possible to change the duration
of a running
PathTransition
. If the value of duration
is changed for a
running PathTransition
, the animation has to be stopped and
started again to pick up the new value.
Note: While the unit of duration
is a millisecond, the
granularity depends on the underlying operating system and will in
general be larger. For example animations on desktop systems usually run
with a maximum of 60fps which gives a granularity of ~17 ms.
Setting duration to value lower than Duration.ZERO
will result
in IllegalArgumentException
.
getDuration()
,
setDuration(Duration)
public final ObjectProperty<Shape> pathProperty
It is not possible to change the path
of a running
PathTransition
. If the value of path
is changed for a
running PathTransition
, the animation has to be stopped and
started again to pick up the new value.
getPath()
,
setPath(Shape)
public final ObjectProperty<PathTransition.OrientationType> orientationProperty
node
along the path
.
The default orientation is set to PathTransition.OrientationType.NONE
.
It is not possible to change the orientation
of a running
PathTransition
. If the value of orientation
is changed
for a running PathTransition
, the animation has to be stopped and
started again to pick up the new value.
getOrientation()
,
setOrientation(OrientationType)
public PathTransition(Duration duration, Shape path, Node node)
PathTransition
.public PathTransition(Duration duration, Shape path)
PathTransition
.public PathTransition()
PathTransition
.public final void setNode(Node value)
PathTransition
.
It is not possible to change the target node
of a running
PathTransition
. If the value of node
is changed for a
running PathTransition
, the animation has to be stopped and
started again to pick up the new value.
public final Node getNode()
PathTransition
.
It is not possible to change the target node
of a running
PathTransition
. If the value of node
is changed for a
running PathTransition
, the animation has to be stopped and
started again to pick up the new value.
public final ObjectProperty<Node> nodeProperty()
PathTransition
.
It is not possible to change the target node
of a running
PathTransition
. If the value of node
is changed for a
running PathTransition
, the animation has to be stopped and
started again to pick up the new value.
getNode()
,
setNode(Node)
public final void setDuration(Duration value)
Transition
.
It is not possible to change the duration
of a running
PathTransition
. If the value of duration
is changed for a
running PathTransition
, the animation has to be stopped and
started again to pick up the new value.
Note: While the unit of duration
is a millisecond, the
granularity depends on the underlying operating system and will in
general be larger. For example animations on desktop systems usually run
with a maximum of 60fps which gives a granularity of ~17 ms.
Setting duration to value lower than Duration.ZERO
will result
in IllegalArgumentException
.
public final Duration getDuration()
Transition
.
It is not possible to change the duration
of a running
PathTransition
. If the value of duration
is changed for a
running PathTransition
, the animation has to be stopped and
started again to pick up the new value.
Note: While the unit of duration
is a millisecond, the
granularity depends on the underlying operating system and will in
general be larger. For example animations on desktop systems usually run
with a maximum of 60fps which gives a granularity of ~17 ms.
Setting duration to value lower than Duration.ZERO
will result
in IllegalArgumentException
.
public final ObjectProperty<Duration> durationProperty()
Transition
.
It is not possible to change the duration
of a running
PathTransition
. If the value of duration
is changed for a
running PathTransition
, the animation has to be stopped and
started again to pick up the new value.
Note: While the unit of duration
is a millisecond, the
granularity depends on the underlying operating system and will in
general be larger. For example animations on desktop systems usually run
with a maximum of 60fps which gives a granularity of ~17 ms.
Setting duration to value lower than Duration.ZERO
will result
in IllegalArgumentException
.
getDuration()
,
setDuration(Duration)
public final void setPath(Shape value)
It is not possible to change the path
of a running
PathTransition
. If the value of path
is changed for a
running PathTransition
, the animation has to be stopped and
started again to pick up the new value.
public final Shape getPath()
It is not possible to change the path
of a running
PathTransition
. If the value of path
is changed for a
running PathTransition
, the animation has to be stopped and
started again to pick up the new value.
public final ObjectProperty<Shape> pathProperty()
It is not possible to change the path
of a running
PathTransition
. If the value of path
is changed for a
running PathTransition
, the animation has to be stopped and
started again to pick up the new value.
getPath()
,
setPath(Shape)
public final void setOrientation(PathTransition.OrientationType value)
node
along the path
.
The default orientation is set to PathTransition.OrientationType.NONE
.
It is not possible to change the orientation
of a running
PathTransition
. If the value of orientation
is changed
for a running PathTransition
, the animation has to be stopped and
started again to pick up the new value.
public final PathTransition.OrientationType getOrientation()
node
along the path
.
The default orientation is set to PathTransition.OrientationType.NONE
.
It is not possible to change the orientation
of a running
PathTransition
. If the value of orientation
is changed
for a running PathTransition
, the animation has to be stopped and
started again to pick up the new value.
public final ObjectProperty<PathTransition.OrientationType> orientationProperty()
node
along the path
.
The default orientation is set to PathTransition.OrientationType.NONE
.
It is not possible to change the orientation
of a running
PathTransition
. If the value of orientation
is changed
for a running PathTransition
, the animation has to be stopped and
started again to pick up the new value.
getOrientation()
,
setOrientation(OrientationType)
public 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 positionSubmit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 2008, 2017, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.