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
  --- | --- | ---
  `DoubleProperty` | `byX` | Specifies the incremented stop X scale value, from the start, of this `ScaleTransition`.
  `DoubleProperty` | `byY` | Specifies the incremented stop Y scale value, from the start, of this `ScaleTransition`.
  `DoubleProperty` | `byZ` | Specifies the incremented stop Z scale value, from the start, of this `ScaleTransition`.
  `ObjectProperty<Duration>` | `duration` | The duration of this `ScaleTransition`.
  `DoubleProperty` | `fromX` | Specifies the start X scale value of this `ScaleTransition`.
  `DoubleProperty` | `fromY` | Specifies the start Y scale value of this `ScaleTransition`.
  `DoubleProperty` | `fromZ` | Specifies the start Z scale value of this `ScaleTransition`.
  `ObjectProperty<Node>` | `node` | The target node of this `ScaleTransition`.
  `DoubleProperty` | `toX` | Specifies the stop X scale value of this `ScaleTransition`.
  `DoubleProperty` | `toY` | The stop Y scale value of this `ScaleTransition`.
  `DoubleProperty` | `toZ` | The stop Z scale value of this `ScaleTransition`.

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

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

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