Class RotateTransition


public final class RotateTransition extends Transition
This Transition creates a rotation animation that spans its duration. This is done by updating the rotate variable of the node at regular intervals. The angle value is specified in degrees.

It starts from the fromAngle if provided else uses the node's rotate value.

It stops at the toAngle value if provided else it will use start value plus byAngle.

The toAngle takes precedence if both toAngle and byAngle are specified.

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);

     RotateTransition rt = new RotateTransition(Duration.millis(3000), rect);
     rt.setByAngle(180);
     rt.setCycleCount(4);
     rt.setAutoReverse(true);

     rt.play();

 ...

 
 
Since:
JavaFX 2.0
See Also:
  • Property Details

    • node

      public final ObjectProperty<Node> nodeProperty
      The target node of this RotateTransition.

      It is not possible to change the target node of a running RotateTransition. If the value of node is changed for a running RotateTransition, the animation has to be stopped and started again to pick up the new value.

      See Also:
    • duration

      public final ObjectProperty<Duration> durationProperty
      The duration of this RotateTransition.

      It is not possible to change the duration of a running RotateTransition. If the value of duration is changed for a running RotateTransition, 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:
    • axis

      public final ObjectProperty<Point3D> axisProperty
      Specifies the axis of rotation for this RotateTransition. Use node.rotationAxis for axis of rotation if this axis is null.

      It is not possible to change the axis of a running RotateTransition. If the value of axis is changed for a running RotateTransition, the animation has to be stopped and started again to pick up the new value.

      Default value:
      null
      See Also:
    • fromAngle

      public final DoubleProperty fromAngleProperty
      Specifies the start angle value for this RotateTransition.

      It is not possible to change fromAngle of a running RotateTransition. If the value of fromAngle is changed for a running RotateTransition, the animation has to be stopped and started again to pick up the new value.

      Default value:
      Double.NaN
      See Also:
    • toAngle

      public final DoubleProperty toAngleProperty
      Specifies the stop angle value for this RotateTransition.

      It is not possible to change toAngle of a running RotateTransition. If the value of toAngle is changed for a running RotateTransition, the animation has to be stopped and started again to pick up the new value.

      Default value:
      Double.NaN
      See Also:
    • byAngle

      public final DoubleProperty byAngleProperty
      Specifies the incremented stop angle value, from the start, of this RotateTransition.

      It is not possible to change byAngle of a running RotateTransition. If the value of byAngle is changed for a running RotateTransition, the animation has to be stopped and started again to pick up the new value.

      See Also:
  • Constructor Details

    • RotateTransition

      public RotateTransition(Duration duration, Node node)
      The constructor of RotateTransition
      Parameters:
      duration - The duration of the RotateTransition
      node - The node which will be rotated
    • RotateTransition

      public RotateTransition(Duration duration)
      The constructor of RotateTransition
      Parameters:
      duration - The duration of the RotateTransition
    • RotateTransition

      public RotateTransition()
      The constructor of RotateTransition
  • Method Details

    • setNode

      public final void setNode(Node value)
      Sets the value of the node property.
      Property description:
      The target node of this RotateTransition.

      It is not possible to change the target node of a running RotateTransition. If the value of node is changed for a running RotateTransition, the animation has to be stopped and started again to pick up the new value.

      Parameters:
      value - the value for the node property
      See Also:
    • getNode

      public final Node getNode()
      Gets the value of the node property.
      Property description:
      The target node of this RotateTransition.

      It is not possible to change the target node of a running RotateTransition. If the value of node is changed for a running RotateTransition, the animation has to be stopped and started again to pick up the new value.

      Returns:
      the value of the node property
      See Also:
    • nodeProperty

      public final ObjectProperty<Node> nodeProperty()
      The target node of this RotateTransition.

      It is not possible to change the target node of a running RotateTransition. If the value of node is changed for a running RotateTransition, the animation has to be stopped and started again to pick up the new value.

      Returns:
      the node property
      See Also:
    • setDuration

      public final void setDuration(Duration value)
      Sets the value of the duration property.
      Property description:
      The duration of this RotateTransition.

      It is not possible to change the duration of a running RotateTransition. If the value of duration is changed for a running RotateTransition, 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
      Parameters:
      value - the value for the duration property
      See Also:
    • getDuration

      public final Duration getDuration()
      Gets the value of the duration property.
      Property description:
      The duration of this RotateTransition.

      It is not possible to change the duration of a running RotateTransition. If the value of duration is changed for a running RotateTransition, 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
      Returns:
      the value of the duration property
      See Also:
    • durationProperty

      public final ObjectProperty<Duration> durationProperty()
      The duration of this RotateTransition.

      It is not possible to change the duration of a running RotateTransition. If the value of duration is changed for a running RotateTransition, 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
      Returns:
      the duration property
      See Also:
    • setAxis

      public final void setAxis(Point3D value)
      Sets the value of the axis property.
      Property description:
      Specifies the axis of rotation for this RotateTransition. Use node.rotationAxis for axis of rotation if this axis is null.

      It is not possible to change the axis of a running RotateTransition. If the value of axis is changed for a running RotateTransition, the animation has to be stopped and started again to pick up the new value.

      Default value:
      null
      Parameters:
      value - the value for the axis property
      See Also:
    • getAxis

      public final Point3D getAxis()
      Gets the value of the axis property.
      Property description:
      Specifies the axis of rotation for this RotateTransition. Use node.rotationAxis for axis of rotation if this axis is null.

      It is not possible to change the axis of a running RotateTransition. If the value of axis is changed for a running RotateTransition, the animation has to be stopped and started again to pick up the new value.

      Default value:
      null
      Returns:
      the value of the axis property
      See Also:
    • axisProperty

      public final ObjectProperty<Point3D> axisProperty()
      Specifies the axis of rotation for this RotateTransition. Use node.rotationAxis for axis of rotation if this axis is null.

      It is not possible to change the axis of a running RotateTransition. If the value of axis is changed for a running RotateTransition, the animation has to be stopped and started again to pick up the new value.

      Default value:
      null
      Returns:
      the axis property
      See Also:
    • setFromAngle

      public final void setFromAngle(double value)
      Sets the value of the fromAngle property.
      Property description:
      Specifies the start angle value for this RotateTransition.

      It is not possible to change fromAngle of a running RotateTransition. If the value of fromAngle is changed for a running RotateTransition, the animation has to be stopped and started again to pick up the new value.

      Default value:
      Double.NaN
      Parameters:
      value - the value for the fromAngle property
      See Also:
    • getFromAngle

      public final double getFromAngle()
      Gets the value of the fromAngle property.
      Property description:
      Specifies the start angle value for this RotateTransition.

      It is not possible to change fromAngle of a running RotateTransition. If the value of fromAngle is changed for a running RotateTransition, the animation has to be stopped and started again to pick up the new value.

      Default value:
      Double.NaN
      Returns:
      the value of the fromAngle property
      See Also:
    • fromAngleProperty

      public final DoubleProperty fromAngleProperty()
      Specifies the start angle value for this RotateTransition.

      It is not possible to change fromAngle of a running RotateTransition. If the value of fromAngle is changed for a running RotateTransition, the animation has to be stopped and started again to pick up the new value.

      Default value:
      Double.NaN
      Returns:
      the fromAngle property
      See Also:
    • setToAngle

      public final void setToAngle(double value)
      Sets the value of the toAngle property.
      Property description:
      Specifies the stop angle value for this RotateTransition.

      It is not possible to change toAngle of a running RotateTransition. If the value of toAngle is changed for a running RotateTransition, the animation has to be stopped and started again to pick up the new value.

      Default value:
      Double.NaN
      Parameters:
      value - the value for the toAngle property
      See Also:
    • getToAngle

      public final double getToAngle()
      Gets the value of the toAngle property.
      Property description:
      Specifies the stop angle value for this RotateTransition.

      It is not possible to change toAngle of a running RotateTransition. If the value of toAngle is changed for a running RotateTransition, the animation has to be stopped and started again to pick up the new value.

      Default value:
      Double.NaN
      Returns:
      the value of the toAngle property
      See Also:
    • toAngleProperty

      public final DoubleProperty toAngleProperty()
      Specifies the stop angle value for this RotateTransition.

      It is not possible to change toAngle of a running RotateTransition. If the value of toAngle is changed for a running RotateTransition, the animation has to be stopped and started again to pick up the new value.

      Default value:
      Double.NaN
      Returns:
      the toAngle property
      See Also:
    • setByAngle

      public final void setByAngle(double value)
      Sets the value of the byAngle property.
      Property description:
      Specifies the incremented stop angle value, from the start, of this RotateTransition.

      It is not possible to change byAngle of a running RotateTransition. If the value of byAngle is changed for a running RotateTransition, the animation has to be stopped and started again to pick up the new value.

      Parameters:
      value - the value for the byAngle property
      See Also:
    • getByAngle

      public final double getByAngle()
      Gets the value of the byAngle property.
      Property description:
      Specifies the incremented stop angle value, from the start, of this RotateTransition.

      It is not possible to change byAngle of a running RotateTransition. If the value of byAngle is changed for a running RotateTransition, the animation has to be stopped and started again to pick up the new value.

      Returns:
      the value of the byAngle property
      See Also:
    • byAngleProperty

      public final DoubleProperty byAngleProperty()
      Specifies the incremented stop angle value, from the start, of this RotateTransition.

      It is not possible to change byAngle of a running RotateTransition. If the value of byAngle is changed for a running RotateTransition, the animation has to be stopped and started again to pick up the new value.

      Returns:
      the byAngle property
      See Also:
    • interpolate

      protected 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