Module javafx.graphics
Package javafx.animation

## Class ParallelTransition

- java.lang.Object
- - javafx.animation.Animation
  - - javafx.animation.Transition
    - - javafx.animation.ParallelTransition

-     public final class ParallelTransition
      extends Transition

  This `Transition` plays a list of `Animations` in parallel.

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

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

           ParallelTransition pt = new ParallelTransition(rect, ft, tt, rt, st);
           pt.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
    --- | ---
    `ParallelTransition()` | The constructor of `ParallelTransition`.
    `ParallelTransition​(Animation... children)` | The constructor of `ParallelTransition`.
    `ParallelTransition​(Node node)` | The constructor of `ParallelTransition`.
    `ParallelTransition​(Node node, Animation... children)` | The constructor of `ParallelTransition`.

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

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

    - #### ParallelTransition

          public ParallelTransition​(Node node,
                                    Animation... children)

      The constructor of `ParallelTransition`.
      Parameters:
        `node` - The target `Node` to be used in child `Transitions` that have no `Node` specified themselves
        `children` - The child `Animations` of this `ParallelTransition`

    - #### ParallelTransition

          public ParallelTransition​(Animation... children)

      The constructor of `ParallelTransition`.
      Parameters:
        `children` - The child `Animations` of this `ParallelTransition`

    - #### ParallelTransition

          public ParallelTransition​(Node node)

      The constructor of `ParallelTransition`.
      Parameters:
        `node` - The target `Node` to be used in child `Transitions` that have no `Node` specified themselves

    - #### ParallelTransition

          public ParallelTransition()

      The constructor of `ParallelTransition`.

  - ### Method Detail

    - #### 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 `ParallelTransition`. If the children are changed for a running `ParallelTransition`, the animation has to be stopped and started again to pick up the new value.

      Returns:
        the list of `Animations`

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