Class PathTransition


public final class PathTransition
extends Transition
This 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 Details

    • node

      public final ObjectProperty<Node> nodeProperty
      The target node of this 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.

      See Also:
      getNode(), setNode(Node)
    • duration

      public final ObjectProperty<Duration> durationProperty
      The duration of this 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.

      Default value:
      400ms
      See Also:
      getDuration(), setDuration(Duration)
    • path

      public final ObjectProperty<Shape> pathProperty
      The shape on which outline the node should be animated.

      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.

      Default value:
      null
      See Also:
      getPath(), setPath(Shape)
    • orientation

      public final ObjectProperty<PathTransition.OrientationType> orientationProperty
      Specifies the upright orientation of 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.

      Default value:
      NONE
      See Also:
      getOrientation(), setOrientation(PathTransition.OrientationType)
  • Constructor Details

    • PathTransition

      public PathTransition​(Duration duration, Shape path, Node node)
      The constructor of PathTransition.
      Parameters:
      duration - The duration of this PathTransition
      path - The path of this PathTransition
      node - The node of this PathTransition
    • PathTransition

      public PathTransition​(Duration duration, Shape path)
      The constructor of PathTransition.
      Parameters:
      duration - The duration of this PathTransition
      path - The path of this PathTransition
    • PathTransition

      public PathTransition()
      The constructor of PathTransition.
  • Method Details

    • setNode

      public final void setNode​(Node value)
      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 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

      public final Node 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 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.

    • nodeProperty

      public final ObjectProperty<Node> nodeProperty()
      The target node of this 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.

      See Also:
      getNode(), setNode(Node)
    • setDuration

      public final void setDuration​(Duration value)
      Sets the value of the property duration.
      Property description:
      The duration of this 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.

      Default value:
      400ms
    • getDuration

      public final Duration 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 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.

      Default value:
      400ms
    • durationProperty

      public final ObjectProperty<Duration> durationProperty()
      The duration of this 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.

      Default value:
      400ms
      See Also:
      getDuration(), setDuration(Duration)
    • setPath

      public final void setPath​(Shape value)
      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 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.

      Default value:
      null
    • getPath

      public final Shape 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 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.

      Default value:
      null
    • pathProperty

      public final ObjectProperty<Shape> pathProperty()
      The shape on which outline the node should be animated.

      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.

      Default value:
      null
      See Also:
      getPath(), setPath(Shape)
    • setOrientation

      public final void setOrientation​(PathTransition.OrientationType value)
      Sets the value of the property orientation.
      Property description:
      Specifies the upright orientation of 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.

      Default value:
      NONE
    • getOrientation

      public final PathTransition.OrientationType getOrientation()
      Gets the value of the property orientation.
      Property description:
      Specifies the upright orientation of 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.

      Default value:
      NONE
    • orientationProperty

      public final ObjectProperty<PathTransition.OrientationType> orientationProperty()
      Specifies the upright orientation of 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.

      Default value:
      NONE
      See Also:
      getOrientation(), setOrientation(PathTransition.OrientationType)
    • interpolate

      public void interpolate​(double frac)
      The method 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.
      Specified by:
      interpolate in class Transition
      Parameters:
      frac - The relative position