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.
|
interpolatorautoReverse, 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.StatusINDEFINITE| 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, setInterpolatorautoReverseProperty, 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, totalDurationPropertypublic 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 Transitionfrac - The relative positionCopyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved.