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.*;
...
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();
...
- Since:
- JavaFX 2.0
- See Also:
Transition
,Animation
-
Property Summary
Properties Type Property Description ObjectProperty<Duration>
duration
The duration of thisTransition
.ObjectProperty<Node>
node
The target node of thisPathTransition
.ObjectProperty<PathTransition.OrientationType>
orientation
Specifies the upright orientation ofnode
along thepath
.ObjectProperty<Shape>
path
The shape on which outline the node should be animated.Properties inherited from class javafx.animation.Transition
interpolator
Properties inherited from class javafx.animation.Animation
autoReverse, currentRate, currentTime, cycleCount, cycleDuration, delay, onFinished, rate, status, totalDuration
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
PathTransition.OrientationType
Specifies the upright orientation ofnode
along thepath
.Nested classes/interfaces inherited from class javafx.animation.Animation
Animation.Status
-
Field Summary
Fields inherited from class javafx.animation.Animation
INDEFINITE
-
Constructor Summary
Constructors Constructor Description PathTransition()
The constructor ofPathTransition
.PathTransition(Duration duration, Shape path)
The constructor ofPathTransition
.PathTransition(Duration duration, Shape path, Node node)
The constructor ofPathTransition
. -
Method Summary
Modifier and Type Method Description ObjectProperty<Duration>
durationProperty()
The duration of thisTransition
.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 methodinterpolate()
has to be provided by implementations ofTransition
.ObjectProperty<Node>
nodeProperty()
The target node of thisPathTransition
.ObjectProperty<PathTransition.OrientationType>
orientationProperty()
Specifies the upright orientation ofnode
along thepath
.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.Methods inherited from class javafx.animation.Transition
getCachedInterpolator, getInterpolator, getParentTargetNode, interpolatorProperty, setInterpolator
Methods inherited from class javafx.animation.Animation
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
-
Property Details
-
node
The target node of thisPathTransition
.It is not possible to change the target
node
of a runningPathTransition
. If the value ofnode
is changed for a runningPathTransition
, the animation has to be stopped and started again to pick up the new value.- See Also:
getNode()
,setNode(Node)
-
duration
The duration of thisTransition
.It is not possible to change the
duration
of a runningPathTransition
. If the value ofduration
is changed for a runningPathTransition
, 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 thanDuration.ZERO
will result inIllegalArgumentException
.- Default value:
- 400ms
- See Also:
getDuration()
,setDuration(Duration)
-
path
The shape on which outline the node should be animated.It is not possible to change the
path
of a runningPathTransition
. If the value ofpath
is changed for a runningPathTransition
, the animation has to be stopped and started again to pick up the new value.- Default value:
- null
- See Also:
getPath()
,setPath(Shape)
-
orientation
Specifies the upright orientation ofnode
along thepath
. The default orientation is set toPathTransition.OrientationType.NONE
.It is not possible to change the
orientation
of a runningPathTransition
. If the value oforientation
is changed for a runningPathTransition
, the animation has to be stopped and started again to pick up the new value.- Default value:
- NONE
- See Also:
getOrientation()
,setOrientation(PathTransition.OrientationType)
-
-
Constructor Details
-
PathTransition
The constructor ofPathTransition
. -
PathTransition
The constructor ofPathTransition
. -
PathTransition
public PathTransition()The constructor ofPathTransition
.
-
-
Method Details
-
setNode
Sets the value of the property node.- Property description:
- The target node of this
PathTransition
.It is not possible to change the target
node
of a runningPathTransition
. If the value ofnode
is changed for a runningPathTransition
, the animation has to be stopped and started again to pick up the new value.
-
getNode
Gets the value of the property node.- Property description:
- The target node of this
PathTransition
.It is not possible to change the target
node
of a runningPathTransition
. If the value ofnode
is changed for a runningPathTransition
, the animation has to be stopped and started again to pick up the new value.
-
nodeProperty
The target node of thisPathTransition
.It is not possible to change the target
node
of a runningPathTransition
. If the value ofnode
is changed for a runningPathTransition
, the animation has to be stopped and started again to pick up the new value.- See Also:
getNode()
,setNode(Node)
-
setDuration
Sets the value of the property duration.- Property description:
- The duration of this
Transition
.It is not possible to change the
duration
of a runningPathTransition
. If the value ofduration
is changed for a runningPathTransition
, 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 thanDuration.ZERO
will result inIllegalArgumentException
. - Default value:
- 400ms
-
getDuration
Gets the value of the property duration.- Property description:
- The duration of this
Transition
.It is not possible to change the
duration
of a runningPathTransition
. If the value ofduration
is changed for a runningPathTransition
, 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 thanDuration.ZERO
will result inIllegalArgumentException
. - Default value:
- 400ms
-
durationProperty
The duration of thisTransition
.It is not possible to change the
duration
of a runningPathTransition
. If the value ofduration
is changed for a runningPathTransition
, 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 thanDuration.ZERO
will result inIllegalArgumentException
.- Default value:
- 400ms
- See Also:
getDuration()
,setDuration(Duration)
-
setPath
Sets the value of the property path.- Property description:
- The shape on which outline the node should be animated.
It is not possible to change the
path
of a runningPathTransition
. If the value ofpath
is changed for a runningPathTransition
, the animation has to be stopped and started again to pick up the new value. - Default value:
- null
-
getPath
Gets the value of the property path.- Property description:
- The shape on which outline the node should be animated.
It is not possible to change the
path
of a runningPathTransition
. If the value ofpath
is changed for a runningPathTransition
, the animation has to be stopped and started again to pick up the new value. - Default value:
- null
-
pathProperty
The shape on which outline the node should be animated.It is not possible to change the
path
of a runningPathTransition
. If the value ofpath
is changed for a runningPathTransition
, the animation has to be stopped and started again to pick up the new value.- Default value:
- null
- See Also:
getPath()
,setPath(Shape)
-
setOrientation
Sets the value of the property orientation.- Property description:
- Specifies the upright orientation of
node
along thepath
. The default orientation is set toPathTransition.OrientationType.NONE
.It is not possible to change the
orientation
of a runningPathTransition
. If the value oforientation
is changed for a runningPathTransition
, the animation has to be stopped and started again to pick up the new value. - Default value:
- NONE
-
getOrientation
Gets the value of the property orientation.- Property description:
- Specifies the upright orientation of
node
along thepath
. The default orientation is set toPathTransition.OrientationType.NONE
.It is not possible to change the
orientation
of a runningPathTransition
. If the value oforientation
is changed for a runningPathTransition
, the animation has to be stopped and started again to pick up the new value. - Default value:
- NONE
-
orientationProperty
Specifies the upright orientation ofnode
along thepath
. The default orientation is set toPathTransition.OrientationType.NONE
.It is not possible to change the
orientation
of a runningPathTransition
. If the value oforientation
is changed for a runningPathTransition
, the animation has to be stopped and started again to pick up the new value.- Default value:
- NONE
- See Also:
getOrientation()
,setOrientation(PathTransition.OrientationType)
-
interpolate
public void interpolate(double frac)The methodinterpolate()
has to be provided by implementations ofTransition
. While aTransition
is running, this method is called in every frame. The parameter defines the current position with the animation. At the start, the fraction will be0.0
and at the end it will be1.0
. How the parameter increases, depends on theinterpolator
, e.g. if theinterpolator
isInterpolator.LINEAR
, the fraction will increase linear. This method must not be called by the user directly.- Specified by:
interpolate
in classTransition
- Parameters:
frac
- The relative position
-