Module javafx.graphics
Package javafx.animation

# Class SequentialTransition

java.lang.Object
javafx.animation.Animation
javafx.animation.Transition
javafx.animation.SequentialTransition

    public final class SequentialTransition
    extends Transition

This `Transition` plays a list of `Animations` in sequential order.

Children of this `Transition` inherit `node`, if their `node` property is not specified.

Code Segment Example:

         Rectangle rect = new Rectangle (100, 40, 100, 100);
         rect.setArcHeight(50);
         rect.setArcWidth(50);
         rect.setFill(Color.VIOLET);

         final Duration SEC_2 = Duration.millis(2000);
         final Duration SEC_3 = Duration.millis(3000);

         PauseTransition pt = new PauseTransition(Duration.millis(1000));
         FadeTransition ft = new FadeTransition(SEC_3);
         ft.setFromValue(1.0f);
         ft.setToValue(0.3f);
         ft.setCycleCount(2f);
         ft.setAutoReverse(true);
         TranslateTransition tt = new TranslateTransition(SEC_2);
         tt.setFromX(-100f);
         tt.setToX(100f);
         tt.setCycleCount(2f);
         tt.setAutoReverse(true);
         RotateTransition rt = new RotateTransition(SEC_3);
         rt.setByAngle(180f);
         rt.setCycleCount(4f);
         rt.setAutoReverse(true);
         ScaleTransition st = new ScaleTransition(SEC_2);
         st.setByX(1.5f);
         st.setByY(1.5f);
         st.setCycleCount(2f);
         st.setAutoReverse(true);

         SequentialTransition seqT = new SequentialTransition (rect, pt, ft, tt, rt, st);
         seqT.play();

Since:
  JavaFX 2.0
See Also:
  `Transition`, `Animation`

- ## Property Summary

  Properties
  Type | Property | Description
  --- | --- | ---
  `ObjectProperty<Node>` | `node` | This `Node` is used in all child `Transitions`, that do not define a target `Node` themselves.

  ### 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/interfaces inherited from class javafx.animation.Animation

  `Animation.Status`

- ## Field Summary

  ### Fields inherited from class javafx.animation.Animation

  `INDEFINITE`

- ## Constructor Summary

  Constructors
  Constructor | Description
  --- | ---
  `SequentialTransition()` | The constructor of `SequentialTransition`.
  `SequentialTransition​(Animation... children)` | The constructor of `SequentialTransition`.
  `SequentialTransition​(Node node)` | The constructor of `SequentialTransition`.
  `SequentialTransition​(Node node, Animation... children)` | The constructor of `SequentialTransition`.

- ## Method Summary

  Modifier and Type | Method | Description
  --- | --- | ---
  `ObservableList<Animation>` | `getChildren()` | A list of `Animations` that will be played sequentially.
  `Node` | `getNode()` | Gets the value of the property node.
  `protected Node` | `getParentTargetNode()` | Returns the first non-`null` target `Node` in the parent hierarchy of this `Transition`, or `null` if such a node is not found.
  `protected void` | `interpolate​(double frac)` | The method `interpolate()` has to be provided by implementations of `Transition`.
  `ObjectProperty<Node>` | `nodeProperty()` | This `Node` is used in all child `Transitions`, that do not define a target `Node` themselves.
  `void` | `setNode​(Node value)` | Sets the value of the property node.

  ### Methods inherited from class javafx.animation.Transition

  `getCachedInterpolator, getInterpolator, 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`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Property Details

  - ### node

    public final ObjectProperty<Node> nodeProperty
    This `Node` is used in all child `Transitions`, that do not define a target `Node` themselves. This can be used if a number of `Transitions` should be applied to a single `Node`.

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

    See Also:
      `getNode()`, `setNode(Node)`

- ## Constructor Details

  - ### SequentialTransition

    public SequentialTransition​(Node node, Animation... children)
    The constructor of `SequentialTransition`.
    Parameters:
      `node` - The target `Node` to be used in child `Transitions` that have no `Node` specified themselves
      `children` - The child `Animations` of this `SequentialTransition`

  - ### SequentialTransition

    public SequentialTransition​(Animation... children)
    The constructor of `SequentialTransition`.
    Parameters:
      `children` - The child `Animations` of this `SequentialTransition`

  - ### SequentialTransition

    public SequentialTransition​(Node node)
    The constructor of `SequentialTransition`.
    Parameters:
      `node` - The target `Node` to be used in child `Transitions` that have no `Node` specified themselves

  - ### SequentialTransition

    public SequentialTransition()
    The constructor of `SequentialTransition`.

- ## Method Details

  - ### setNode

    public final void setNode​(Node value)
    Sets the value of the property node.
    Property description:
      This `Node` is used in all child `Transitions`, that do not define a target `Node` themselves. This can be used if a number of `Transitions` should be applied to a single `Node`.

      It is not possible to change the target `node` of a running `Transition`. If the value of `node` is changed for a running `Transition`, 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:
      This `Node` is used in all child `Transitions`, that do not define a target `Node` themselves. This can be used if a number of `Transitions` should be applied to a single `Node`.

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

  - ### nodeProperty

    public final ObjectProperty<Node> nodeProperty()
    This `Node` is used in all child `Transitions`, that do not define a target `Node` themselves. This can be used if a number of `Transitions` should be applied to a single `Node`.

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

    See Also:
      `getNode()`, `setNode(Node)`

  - ### getChildren

    public final ObservableList<Animation> getChildren()
    A list of `Animations` that will be played sequentially.

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

    Returns:
      a list of Animations that will be played sequentially

  - ### getParentTargetNode

    protected Node getParentTargetNode()
    Returns the first non-`null` target `Node` in the parent hierarchy of this `Transition`, or `null` if such a node is not found.

    A parent animation is one that can have child animations. Examples are `SequentialTransition` and `ParallelTransition`. A parent animation can also be a child of another parent animation.

    Note that if this `Transition` has a target node set and is not a parent animation, it will be ignored during the call as this method only queries parent animations.

    Overrides:
      `getParentTargetNode` in class `Transition`
    Returns:
      the target `Node`

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