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 Detail

      • 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)
    • Constructor Detail

      • 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 Detail

      • 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
      • 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