Class PathTransition
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 intervals.
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:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enumSpecifies the upright orientation ofnodealong thepath.Nested classes/interfaces declared in class Animation
Animation.Status -
Property Summary
PropertiesTypePropertyDescriptionfinal ObjectProperty<Duration> The duration of thisTransition.final ObjectProperty<Node> The target node of thisPathTransition.Specifies the upright orientation ofnodealong thepath.final ObjectProperty<Shape> The shape on which outline the node should be animated.Properties declared in class Transition
interpolatorTypePropertyDescriptionfinal ObjectProperty<Interpolator> Controls the timing for acceleration and deceleration at eachTransitioncycle.Properties declared in class Animation
autoReverse, currentRate, currentTime, cycleCount, cycleDuration, delay, onFinished, rate, status, totalDurationTypePropertyDescriptionfinal BooleanPropertyDefines whether thisAnimationreverses direction on alternating cycles.final ReadOnlyDoublePropertyRead-only variable to indicate current direction/speed at which theAnimationis being played.final ReadOnlyObjectProperty<Duration> Defines theAnimation's play head position.final IntegerPropertyDefines the number of cycles in this animation.final ReadOnlyObjectProperty<Duration> Read-only variable to indicate the duration of one cycle of thisAnimation: the time it takes to play from time 0 to the end of the Animation (at the defaultrateof 1.0).final ObjectProperty<Duration> Delays the start of an animation.final ObjectProperty<EventHandler<ActionEvent>> The action to be executed at the conclusion of thisAnimation.final DoublePropertyDefines the direction/speed at which theAnimationis expected to be played.The status of theAnimation.final ReadOnlyObjectProperty<Duration> Read-only variable to indicate the total duration of thisAnimation, including repeats. -
Field Summary
Fields declared in class Animation
INDEFINITEModifier and TypeFieldDescriptionstatic final intUsed as a value forcycleCountto specify an animation that repeats indefinitely, until thestop()method is called. -
Constructor Summary
ConstructorsConstructorDescriptionThe constructor ofPathTransition.PathTransition(Duration duration, Shape path) The constructor ofPathTransition.PathTransition(Duration duration, Shape path, Node node) The constructor ofPathTransition. -
Method Summary
Modifier and TypeMethodDescriptionfinal ObjectProperty<Duration> The duration of thisTransition.final DurationGets the value of thedurationproperty.final NodegetNode()Gets the value of thenodeproperty.Gets the value of theorientationproperty.final ShapegetPath()Gets the value of thepathproperty.voidinterpolate(double frac) The methodinterpolate()has to be provided by implementations ofTransition.final ObjectProperty<Node> The target node of thisPathTransition.Specifies the upright orientation ofnodealong thepath.final ObjectProperty<Shape> The shape on which outline the node should be animated.final voidsetDuration(Duration value) Sets the value of thedurationproperty.final voidSets the value of thenodeproperty.final voidSets the value of theorientationproperty.final voidSets the value of thepathproperty.Methods declared in class Transition
getCachedInterpolator, getInterpolator, getParentTargetNode, interpolatorProperty, setInterpolatorModifier and TypeMethodDescriptionprotected InterpolatorReturns theInterpolator, that was set when theTransitionwas started.final InterpolatorGets the value of theinterpolatorproperty.protected NodeReturns the first non-nulltargetNodein the parent hierarchy of thisTransition, ornullif such a node is not found.final ObjectProperty<Interpolator> Controls the timing for acceleration and deceleration at eachTransitioncycle.final voidsetInterpolator(Interpolator value) Sets the value of theinterpolatorproperty.Methods declared in class 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, totalDurationPropertyModifier and TypeMethodDescriptionfinal BooleanPropertyDefines whether thisAnimationreverses direction on alternating cycles.final ReadOnlyDoublePropertyRead-only variable to indicate current direction/speed at which theAnimationis being played.final ReadOnlyObjectProperty<Duration> Defines theAnimation's play head position.final IntegerPropertyDefines the number of cycles in this animation.final ReadOnlyObjectProperty<Duration> Read-only variable to indicate the duration of one cycle of thisAnimation: the time it takes to play from time 0 to the end of the Animation (at the defaultrateof 1.0).final ObjectProperty<Duration> Delays the start of an animation.final ObservableMap<String, Duration> The cue points can be used to mark important positions of theAnimation.final doubleGets the value of thecurrentRateproperty.final DurationGets the value of thecurrentTimeproperty.final intGets the value of thecycleCountproperty.final DurationGets the value of thecycleDurationproperty.final DurationgetDelay()Gets the value of thedelayproperty.final EventHandler<ActionEvent> Gets the value of theonFinishedproperty.final doublegetRate()Gets the value of therateproperty.final Animation.StatusGets the value of thestatusproperty.final doubleThe target framerate is the maximum framerate at which thisAnimationwill run, in frames per second.final DurationGets the value of thetotalDurationproperty.final booleanGets the value of theautoReverseproperty.voidJumps to a predefined position in thisAnimation.voidJumps to a given position in thisAnimation.final ObjectProperty<EventHandler<ActionEvent>> The action to be executed at the conclusion of thisAnimation.voidpause()Pauses the animation.voidplay()PlaysAnimationfrom current position in the direction indicated byrate.voidA convenience method to play thisAnimationfrom a predefined position.voidA convenience method to play thisAnimationfrom a specific position.voidPlays anAnimationfrom initial position in forward direction.final DoublePropertyDefines the direction/speed at which theAnimationis expected to be played.final voidsetAutoReverse(boolean value) Sets the value of theautoReverseproperty.final voidsetCycleCount(int value) Sets the value of thecycleCountproperty.protected final voidsetCycleDuration(Duration value) Sets the value of thecycleDurationproperty.final voidSets the value of thedelayproperty.final voidsetOnFinished(EventHandler<ActionEvent> value) Sets the value of theonFinishedproperty.final voidsetRate(double value) Sets the value of therateproperty.protected final voidsetStatus(Animation.Status value) Sets the value of thestatusproperty.The status of theAnimation.voidstop()Stops the animation and resets the play head to its initial position.final ReadOnlyObjectProperty<Duration> Read-only variable to indicate the total duration of thisAnimation, including repeats.
-
Property Details
-
node
The target node of thisPathTransition.It is not possible to change the target
nodeof a runningPathTransition. If the value ofnodeis changed for a runningPathTransition, the animation has to be stopped and started again to pick up the new value.- See Also:
-
duration
The duration of thisTransition.It is not possible to change the
durationof a runningPathTransition. If the value ofdurationis changed for a runningPathTransition, the animation has to be stopped and started again to pick up the new value.Note: While the unit of
durationis 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.ZEROwill result inIllegalArgumentException.- Default value:
- 400ms
- See Also:
-
path
The shape on which outline the node should be animated.It is not possible to change the
pathof a runningPathTransition. If the value ofpathis changed for a runningPathTransition, the animation has to be stopped and started again to pick up the new value.- Default value:
- null
- See Also:
-
orientation
Specifies the upright orientation ofnodealong thepath. The default orientation is set toPathTransition.OrientationType.NONE.It is not possible to change the
orientationof a runningPathTransition. If the value oforientationis changed for a runningPathTransition, the animation has to be stopped and started again to pick up the new value.- Default value:
- NONE
- See Also:
-
-
Constructor Details
-
PathTransition
-
PathTransition
-
PathTransition
public PathTransition()The constructor ofPathTransition.
-
-
Method Details
-
setNode
Sets the value of thenodeproperty.- Property description:
- The target node of this
PathTransition.It is not possible to change the target
nodeof a runningPathTransition. If the value ofnodeis changed for a runningPathTransition, the animation has to be stopped and started again to pick up the new value. - Parameters:
value- the value for thenodeproperty- See Also:
-
getNode
Gets the value of thenodeproperty.- Property description:
- The target node of this
PathTransition.It is not possible to change the target
nodeof a runningPathTransition. If the value ofnodeis changed for a runningPathTransition, the animation has to be stopped and started again to pick up the new value. - Returns:
- the value of the
nodeproperty - See Also:
-
nodeProperty
The target node of thisPathTransition.It is not possible to change the target
nodeof a runningPathTransition. If the value ofnodeis changed for a runningPathTransition, the animation has to be stopped and started again to pick up the new value.- Returns:
- the
nodeproperty - See Also:
-
setDuration
Sets the value of thedurationproperty.- Property description:
- The duration of this
Transition.It is not possible to change the
durationof a runningPathTransition. If the value ofdurationis changed for a runningPathTransition, the animation has to be stopped and started again to pick up the new value.Note: While the unit of
durationis 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.ZEROwill result inIllegalArgumentException. - Default value:
- 400ms
- Parameters:
value- the value for thedurationproperty- See Also:
-
getDuration
Gets the value of thedurationproperty.- Property description:
- The duration of this
Transition.It is not possible to change the
durationof a runningPathTransition. If the value ofdurationis changed for a runningPathTransition, the animation has to be stopped and started again to pick up the new value.Note: While the unit of
durationis 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.ZEROwill result inIllegalArgumentException. - Default value:
- 400ms
- Returns:
- the value of the
durationproperty - See Also:
-
durationProperty
The duration of thisTransition.It is not possible to change the
durationof a runningPathTransition. If the value ofdurationis changed for a runningPathTransition, the animation has to be stopped and started again to pick up the new value.Note: While the unit of
durationis 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.ZEROwill result inIllegalArgumentException.- Default value:
- 400ms
- Returns:
- the
durationproperty - See Also:
-
setPath
Sets the value of thepathproperty.- Property description:
- The shape on which outline the node should be animated.
It is not possible to change the
pathof a runningPathTransition. If the value ofpathis changed for a runningPathTransition, the animation has to be stopped and started again to pick up the new value. - Default value:
- null
- Parameters:
value- the value for thepathproperty- See Also:
-
getPath
Gets the value of thepathproperty.- Property description:
- The shape on which outline the node should be animated.
It is not possible to change the
pathof a runningPathTransition. If the value ofpathis changed for a runningPathTransition, the animation has to be stopped and started again to pick up the new value. - Default value:
- null
- Returns:
- the value of the
pathproperty - See Also:
-
pathProperty
The shape on which outline the node should be animated.It is not possible to change the
pathof a runningPathTransition. If the value ofpathis changed for a runningPathTransition, the animation has to be stopped and started again to pick up the new value.- Default value:
- null
- Returns:
- the
pathproperty - See Also:
-
setOrientation
Sets the value of theorientationproperty.- Property description:
- Specifies the upright orientation of
nodealong thepath. The default orientation is set toPathTransition.OrientationType.NONE.It is not possible to change the
orientationof a runningPathTransition. If the value oforientationis changed for a runningPathTransition, the animation has to be stopped and started again to pick up the new value. - Default value:
- NONE
- Parameters:
value- the value for theorientationproperty- See Also:
-
getOrientation
Gets the value of theorientationproperty.- Property description:
- Specifies the upright orientation of
nodealong thepath. The default orientation is set toPathTransition.OrientationType.NONE.It is not possible to change the
orientationof a runningPathTransition. If the value oforientationis changed for a runningPathTransition, the animation has to be stopped and started again to pick up the new value. - Default value:
- NONE
- Returns:
- the value of the
orientationproperty - See Also:
-
orientationProperty
Specifies the upright orientation ofnodealong thepath. The default orientation is set toPathTransition.OrientationType.NONE.It is not possible to change the
orientationof a runningPathTransition. If the value oforientationis changed for a runningPathTransition, the animation has to be stopped and started again to pick up the new value.- Default value:
- NONE
- Returns:
- the
orientationproperty - See Also:
-
interpolate
public void interpolate(double frac) The methodinterpolate()has to be provided by implementations ofTransition. While aTransitionis running, this method is called in every frame. The parameter defines the current position with the animation. At the start, the fraction will be0.0and at the end it will be1.0. How the parameter increases, depends on theinterpolator, e.g. if theinterpolatorisInterpolator.LINEAR, the fraction will increase linear. This method must not be called by the user directly.- Specified by:
interpolatein classTransition- Parameters:
frac- The relative position
-