Class 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
`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 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  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.

`getNode()`, `setNode(Node)`
• duration

public final  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
`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`
`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`
`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`
`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`
`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`
`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`
`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.

`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.

`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.

`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  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.

`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  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
`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`
`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`
`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`
`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`
`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`
`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`
`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.

`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.

`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.

`getByZ()`, `setByZ(double)`
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.
`interpolate` in class `Transition`
`frac` - The relative position