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

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

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

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

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

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

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

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

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