Module javafx.graphics
Package javafx.animation

# Class ScaleTransition

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

public final class ScaleTransition extends Transition
This `Transition` creates a scale animation that spans its `duration`. This is done by updating the `scaleX`, `scaleY` and `scaleZ` variables of the `node` at regular interval.

It starts from the (`fromX`, `fromY`, `fromZ`) value if provided else uses the `node`'s (`scaleX`, `scaleY`, `scaleZ`) value.

It stops at the (`toX`, `toY`, `toZ`) value if provided else it will use start value plus (`byX`, `byY`, `byZ`) value.

The (`toX`, `toY`, `toZ`) value takes precedence if both ( `toX`, `toY`, `toZ`) and (`byX`, `byY`, `byZ`) values 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);

         ScaleTransition st = new ScaleTransition(Duration.millis(2000), rect);
         st.setByX(1.5f);
         st.setByY(1.5f);
         st.setCycleCount(4f);
         st.setAutoReverse(true);

         st.play();

     ...

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

- ## Property Summary

  Properties
  Type
  Property
  Description
  `final DoubleProperty`
  `byX`
  Specifies the incremented stop X scale value, from the start, of this `ScaleTransition`.
  `final DoubleProperty`
  `byY`
  Specifies the incremented stop Y scale value, from the start, of this `ScaleTransition`.
  `final DoubleProperty`
  `byZ`
  Specifies the incremented stop Z scale value, from the start, of this `ScaleTransition`.
  `final ObjectProperty<Duration>`
  `duration`
  The duration of this `ScaleTransition`.
  `final DoubleProperty`
  `fromX`
  Specifies the start X scale value of this `ScaleTransition`.
  `final DoubleProperty`
  `fromY`
  Specifies the start Y scale value of this `ScaleTransition`.
  `final DoubleProperty`
  `fromZ`
  Specifies the start Z scale value of this `ScaleTransition`.
  `final ObjectProperty<Node>`
  `node`
  The target node of this `ScaleTransition`.
  `final DoubleProperty`
  `toX`
  Specifies the stop X scale value of this `ScaleTransition`.
  `final DoubleProperty`
  `toY`
  The stop Y scale value of this `ScaleTransition`.
  `final DoubleProperty`
  `toZ`
  The stop Z scale value of this `ScaleTransition`.

  ### Properties declared in class javafx.animation.Transition

  `interpolator`

  ### Properties declared in class javafx.animation.Animation

  `autoReverse, currentRate, currentTime, cycleCount, cycleDuration, delay, onFinished, rate, status, totalDuration`

- ## Nested Class Summary

  ## Nested classes/interfaces declared in class javafx.animation.Animation

  `Animation.Status`

- ## Field Summary

  ### Fields declared in class javafx.animation.Animation

  `INDEFINITE`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ScaleTransition()`
  The constructor of `ScaleTransition`
  `ScaleTransition(Duration duration)`
  The constructor of `ScaleTransition`
  `ScaleTransition(Duration duration, Node node)`
  The constructor of `ScaleTransition`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `final DoubleProperty`
  `byXProperty()`
  Specifies the incremented stop X scale value, from the start, of this `ScaleTransition`.
  `final DoubleProperty`
  `byYProperty()`
  Specifies the incremented stop Y scale value, from the start, of this `ScaleTransition`.
  `final DoubleProperty`
  `byZProperty()`
  Specifies the incremented stop Z scale value, from the start, of this `ScaleTransition`.
  `final ObjectProperty<Duration>`
  `durationProperty()`
  The duration of this `ScaleTransition`.
  `final DoubleProperty`
  `fromXProperty()`
  Specifies the start X scale value of this `ScaleTransition`.
  `final DoubleProperty`
  `fromYProperty()`
  Specifies the start Y scale value of this `ScaleTransition`.
  `final DoubleProperty`
  `fromZProperty()`
  Specifies the start Z scale value of this `ScaleTransition`.
  `final double`
  `getByX()`
  Gets the value of the property byX.
  `final double`
  `getByY()`
  Gets the value of the property byY.
  `final double`
  `getByZ()`
  Gets the value of the property byZ.
  `final Duration`
  `getDuration()`
  Gets the value of the property duration.
  `final double`
  `getFromX()`
  Gets the value of the property fromX.
  `final double`
  `getFromY()`
  Gets the value of the property fromY.
  `final double`
  `getFromZ()`
  Gets the value of the property fromZ.
  `final Node`
  `getNode()`
  Gets the value of the property node.
  `final double`
  `getToX()`
  Gets the value of the property toX.
  `final double`
  `getToY()`
  Gets the value of the property toY.
  `final double`
  `getToZ()`
  Gets the value of the property toZ.
  `void`
  `interpolate(double frac)`
  The method `interpolate()` has to be provided by implementations of `Transition`.
  `final ObjectProperty<Node>`
  `nodeProperty()`
  The target node of this `ScaleTransition`.
  `final void`
  `setByX(double value)`
  Sets the value of the property byX.
  `final void`
  `setByY(double value)`
  Sets the value of the property byY.
  `final void`
  `setByZ(double value)`
  Sets the value of the property byZ.
  `final void`
  `setDuration(Duration value)`
  Sets the value of the property duration.
  `final void`
  `setFromX(double value)`
  Sets the value of the property fromX.
  `final void`
  `setFromY(double value)`
  Sets the value of the property fromY.
  `final void`
  `setFromZ(double value)`
  Sets the value of the property fromZ.
  `final void`
  `setNode(Node value)`
  Sets the value of the property node.
  `final void`
  `setToX(double value)`
  Sets the value of the property toX.
  `final void`
  `setToY(double value)`
  Sets the value of the property toY.
  `final void`
  `setToZ(double value)`
  Sets the value of the property toZ.
  `final DoubleProperty`
  `toXProperty()`
  Specifies the stop X scale value of this `ScaleTransition`.
  `final DoubleProperty`
  `toYProperty()`
  The stop Y scale value of this `ScaleTransition`.
  `final DoubleProperty`
  `toZProperty()`
  The stop Z scale value of this `ScaleTransition`.

  ### Methods declared in class javafx.animation.Transition

  `getCachedInterpolator, getInterpolator, getParentTargetNode, interpolatorProperty, setInterpolator`

  ### Methods declared in 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 declared in class java.lang.Object

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

- ## Property Details

  - ### node

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

    It is not possible to change the target `node` of a running `ScaleTransition`. If the value of `node` is changed for a running `ScaleTransition`, 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 `ScaleTransition`.

    It is not possible to change the `duration` of a running `ScaleTransition`. If the value of `duration` is changed for a running `ScaleTransition`, 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)`

  - ### fromX

    public final DoubleProperty fromXProperty
    Specifies the start X scale value of this `ScaleTransition`.

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

    Default value:
      `Double.NaN`
    See Also:
      - `getFromX()`
      - `setFromX(double)`

  - ### fromY

    public final DoubleProperty fromYProperty
    Specifies the start Y scale value of this `ScaleTransition`.

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

    Default value:
      `Double.NaN`
    See Also:
      - `getFromY()`
      - `setFromY(double)`

  - ### fromZ

    public final DoubleProperty fromZProperty
    Specifies the start Z scale value of this `ScaleTransition`.

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

    Default value:
      `Double.NaN`
    See Also:
      - `getFromZ()`
      - `setFromZ(double)`

  - ### toX

    public final DoubleProperty toXProperty
    Specifies the stop X scale value of this `ScaleTransition`.

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

    Default value:
      `Double.NaN`
    See Also:
      - `getToX()`
      - `setToX(double)`

  - ### toY

    public final DoubleProperty toYProperty
    The stop Y scale value of this `ScaleTransition`.

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

    Default value:
      `Double.NaN`
    See Also:
      - `getToY()`
      - `setToY(double)`

  - ### toZ

    public final DoubleProperty toZProperty
    The stop Z scale value of this `ScaleTransition`.

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

    Default value:
      `Double.NaN`
    See Also:
      - `getToZ()`
      - `setToZ(double)`

  - ### byX

    public final DoubleProperty byXProperty
    Specifies the incremented stop X scale value, from the start, of this `ScaleTransition`.

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

    See Also:
      - `getByX()`
      - `setByX(double)`

  - ### byY

    public final DoubleProperty byYProperty
    Specifies the incremented stop Y scale value, from the start, of this `ScaleTransition`.

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

    See Also:
      - `getByY()`
      - `setByY(double)`

  - ### byZ

    public final DoubleProperty byZProperty
    Specifies the incremented stop Z scale value, from the start, of this `ScaleTransition`.

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

    See Also:
      - `getByZ()`
      - `setByZ(double)`

- ## Constructor Details

  - ### ScaleTransition

    public ScaleTransition(Duration duration, Node node)
    The constructor of `ScaleTransition`
    Parameters:
      `duration` - The duration of the `ScaleTransition`
      `node` - The `node` which will be scaled

  - ### ScaleTransition

    public ScaleTransition(Duration duration)
    The constructor of `ScaleTransition`
    Parameters:
      `duration` - The duration of the `ScaleTransition`

  - ### ScaleTransition

    public ScaleTransition()
    The constructor of `ScaleTransition`

- ## Method Details

  - ### setNode

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

      It is not possible to change the target `node` of a running `ScaleTransition`. If the value of `node` is changed for a running `ScaleTransition`, 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 `ScaleTransition`.

      It is not possible to change the target `node` of a running `ScaleTransition`. If the value of `node` is changed for a running `ScaleTransition`, 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 `ScaleTransition`.

    It is not possible to change the target `node` of a running `ScaleTransition`. If the value of `node` is changed for a running `ScaleTransition`, 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 `ScaleTransition`.

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

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

    It is not possible to change the `duration` of a running `ScaleTransition`. If the value of `duration` is changed for a running `ScaleTransition`, 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)`

  - ### setFromX

    public final void setFromX(double value)
    Sets the value of the property fromX.
    Property description:
      Specifies the start X scale value of this `ScaleTransition`.

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

    Default value:
      `Double.NaN`

  - ### getFromX

    public final double getFromX()
    Gets the value of the property fromX.
    Property description:
      Specifies the start X scale value of this `ScaleTransition`.

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

    Default value:
      `Double.NaN`

  - ### fromXProperty

    public final DoubleProperty fromXProperty()
    Specifies the start X scale value of this `ScaleTransition`.

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

    Default value:
      `Double.NaN`
    See Also:
      - `getFromX()`
      - `setFromX(double)`

  - ### setFromY

    public final void setFromY(double value)
    Sets the value of the property fromY.
    Property description:
      Specifies the start Y scale value of this `ScaleTransition`.

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

    Default value:
      `Double.NaN`

  - ### getFromY

    public final double getFromY()
    Gets the value of the property fromY.
    Property description:
      Specifies the start Y scale value of this `ScaleTransition`.

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

    Default value:
      `Double.NaN`

  - ### fromYProperty

    public final DoubleProperty fromYProperty()
    Specifies the start Y scale value of this `ScaleTransition`.

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

    Default value:
      `Double.NaN`
    See Also:
      - `getFromY()`
      - `setFromY(double)`

  - ### setFromZ

    public final void setFromZ(double value)
    Sets the value of the property fromZ.
    Property description:
      Specifies the start Z scale value of this `ScaleTransition`.

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

    Default value:
      `Double.NaN`

  - ### getFromZ

    public final double getFromZ()
    Gets the value of the property fromZ.
    Property description:
      Specifies the start Z scale value of this `ScaleTransition`.

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

    Default value:
      `Double.NaN`

  - ### fromZProperty

    public final DoubleProperty fromZProperty()
    Specifies the start Z scale value of this `ScaleTransition`.

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

    Default value:
      `Double.NaN`
    See Also:
      - `getFromZ()`
      - `setFromZ(double)`

  - ### setToX

    public final void setToX(double value)
    Sets the value of the property toX.
    Property description:
      Specifies the stop X scale value of this `ScaleTransition`.

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

    Default value:
      `Double.NaN`

  - ### getToX

    public final double getToX()
    Gets the value of the property toX.
    Property description:
      Specifies the stop X scale value of this `ScaleTransition`.

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

    Default value:
      `Double.NaN`

  - ### toXProperty

    public final DoubleProperty toXProperty()
    Specifies the stop X scale value of this `ScaleTransition`.

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

    Default value:
      `Double.NaN`
    See Also:
      - `getToX()`
      - `setToX(double)`

  - ### setToY

    public final void setToY(double value)
    Sets the value of the property toY.
    Property description:
      The stop Y scale value of this `ScaleTransition`.

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

    Default value:
      `Double.NaN`

  - ### getToY

    public final double getToY()
    Gets the value of the property toY.
    Property description:
      The stop Y scale value of this `ScaleTransition`.

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

    Default value:
      `Double.NaN`

  - ### toYProperty

    public final DoubleProperty toYProperty()
    The stop Y scale value of this `ScaleTransition`.

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

    Default value:
      `Double.NaN`
    See Also:
      - `getToY()`
      - `setToY(double)`

  - ### setToZ

    public final void setToZ(double value)
    Sets the value of the property toZ.
    Property description:
      The stop Z scale value of this `ScaleTransition`.

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

    Default value:
      `Double.NaN`

  - ### getToZ

    public final double getToZ()
    Gets the value of the property toZ.
    Property description:
      The stop Z scale value of this `ScaleTransition`.

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

    Default value:
      `Double.NaN`

  - ### toZProperty

    public final DoubleProperty toZProperty()
    The stop Z scale value of this `ScaleTransition`.

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

    Default value:
      `Double.NaN`
    See Also:
      - `getToZ()`
      - `setToZ(double)`

  - ### setByX

    public final void setByX(double value)
    Sets the value of the property byX.
    Property description:
      Specifies the incremented stop X scale value, from the start, of this `ScaleTransition`.

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

  - ### getByX

    public final double getByX()
    Gets the value of the property byX.
    Property description:
      Specifies the incremented stop X scale value, from the start, of this `ScaleTransition`.

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

  - ### byXProperty

    public final DoubleProperty byXProperty()
    Specifies the incremented stop X scale value, from the start, of this `ScaleTransition`.

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

    See Also:
      - `getByX()`
      - `setByX(double)`

  - ### setByY

    public final void setByY(double value)
    Sets the value of the property byY.
    Property description:
      Specifies the incremented stop Y scale value, from the start, of this `ScaleTransition`.

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

  - ### getByY

    public final double getByY()
    Gets the value of the property byY.
    Property description:
      Specifies the incremented stop Y scale value, from the start, of this `ScaleTransition`.

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

  - ### byYProperty

    public final DoubleProperty byYProperty()
    Specifies the incremented stop Y scale value, from the start, of this `ScaleTransition`.

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

    See Also:
      - `getByY()`
      - `setByY(double)`

  - ### setByZ

    public final void setByZ(double value)
    Sets the value of the property byZ.
    Property description:
      Specifies the incremented stop Z scale value, from the start, of this `ScaleTransition`.

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

  - ### getByZ

    public final double getByZ()
    Gets the value of the property byZ.
    Property description:
      Specifies the incremented stop Z scale value, from the start, of this `ScaleTransition`.

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

  - ### byZProperty

    public final DoubleProperty byZProperty()
    Specifies the incremented stop Z scale value, from the start, of this `ScaleTransition`.

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

    See Also:
      - `getByZ()`
      - `setByZ(double)`

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