Module javafx.graphics
Package javafx.animation

# Class FadeTransition

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

public final class FadeTransition extends Transition
This `Transition` creates a fade effect animation that spans its `duration`. This is done by updating the `opacity` variable of the `node` at regular interval.

It starts from the `fromValue` if provided else uses the `node`'s `opacity` value.

It stops at the `toValue` value if provided else it will use start value plus `byValue`.

The `toValue` takes precedence if both `toValue` and `byValue` 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);

         FadeTransition ft = new FadeTransition(Duration.millis(3000), rect);
         ft.setFromValue(1.0);
         ft.setToValue(0.3);
         ft.setCycleCount(4);
         ft.setAutoReverse(true);

         ft.play();

     ...

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

## Property Summary

Properties
Type
Property
Description
`final DoubleProperty`
`byValue`
Specifies the incremented stop opacity value, from the start, of this `FadeTransition`.
`final ObjectProperty<Duration>`
`duration`
The duration of this `FadeTransition`.
`final DoubleProperty`
`fromValue`
Specifies the start opacity value for this `FadeTransition`.
`final ObjectProperty<Node>`
`node`
The target node of this `Transition`.
`final DoubleProperty`
`toValue`
Specifies the stop opacity value for this `FadeTransition`.

### 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
`FadeTransition()`
The constructor of `FadeTransition`
`FadeTransition(Duration duration)`
The constructor of `FadeTransition`
`FadeTransition(Duration duration, Node node)`
The constructor of `FadeTransition`

## Method Summary

Modifier and Type
Method
Description
`final DoubleProperty`
`byValueProperty()`
Specifies the incremented stop opacity value, from the start, of this `FadeTransition`.
`final ObjectProperty<Duration>`
`durationProperty()`
The duration of this `FadeTransition`.
`final DoubleProperty`
`fromValueProperty()`
Specifies the start opacity value for this `FadeTransition`.
`final double`
`getByValue()`
Gets the value of the `byValue` property.
`final Duration`
`getDuration()`
Gets the value of the `duration` property.
`final double`
`getFromValue()`
Gets the value of the `fromValue` property.
`final Node`
`getNode()`
Gets the value of the `node` property.
`final double`
`getToValue()`
Gets the value of the `toValue` property.
`protected void`
`interpolate(double frac)`
The method `interpolate()` has to be provided by implementations of `Transition`.
`final ObjectProperty<Node>`
`nodeProperty()`
The target node of this `Transition`.
`final void`
`setByValue(double value)`
Sets the value of the `byValue` property.
`final void`
`setDuration(Duration value)`
Sets the value of the `duration` property.
`final void`
`setFromValue(double value)`
Sets the value of the `fromValue` property.
`final void`
`setNode(Node value)`
Sets the value of the `node` property.
`final void`
`setToValue(double value)`
Sets the value of the `toValue` property.
`final DoubleProperty`
`toValueProperty()`
Specifies the stop opacity value for this `FadeTransition`.

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

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

See Also:
  - `getNode()`
  - `setNode(Node)`
  - `nodeProperty()`

### duration

public final ObjectProperty<Duration> durationProperty
The duration of this `FadeTransition`.

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

### fromValue

public final DoubleProperty fromValueProperty
Specifies the start opacity value for this `FadeTransition`.

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

Default value:
  `Double.NaN`
See Also:
  - `getFromValue()`
  - `setFromValue(double)`
  - `fromValueProperty()`

### toValue

public final DoubleProperty toValueProperty
Specifies the stop opacity value for this `FadeTransition`.

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

Default value:
  `Double.NaN`
See Also:
  - `getToValue()`
  - `setToValue(double)`
  - `toValueProperty()`

### byValue

public final DoubleProperty byValueProperty
Specifies the incremented stop opacity value, from the start, of this `FadeTransition`.

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

See Also:
  - `getByValue()`
  - `setByValue(double)`
  - `byValueProperty()`

## Constructor Details

### FadeTransition

public FadeTransition(Duration duration, Node node)
The constructor of `FadeTransition`

Parameters:
  `duration` - The duration of the `FadeTransition`
  `node` - The `node` which opacity will be animated

### FadeTransition

public FadeTransition(Duration duration)
The constructor of `FadeTransition`

Parameters:
  `duration` - The duration of the `FadeTransition`

### FadeTransition

public FadeTransition()
The constructor of `FadeTransition`

## Method Details

### setNode

public final void setNode(Node value)
Sets the value of the `node` property.

Property description:
  The target node of this `Transition`.

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

Parameters:
  `value` - the value for the `node` property
See Also:
  - `getNode()`
  - `nodeProperty()`

### getNode

public final Node getNode()
Gets the value of the `node` property.

Property description:
  The target node of this `Transition`.

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

Returns:
  the value of the `node` property
See Also:
  - `setNode(Node)`
  - `nodeProperty()`

### nodeProperty

public final ObjectProperty<Node> nodeProperty()
The target node of this `Transition`.

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

Returns:
  the `node` property
See Also:
  - `getNode()`
  - `setNode(Node)`

### setDuration

public final void setDuration(Duration value)
Sets the value of the `duration` property.

Property description:
  The duration of this `FadeTransition`.

  It is not possible to change the `duration` of a running `FadeTransition`. If the value of `duration` is changed for a running `FadeTransition`, 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
Parameters:
  `value` - the value for the `duration` property
See Also:
  - `getDuration()`
  - `durationProperty()`

### getDuration

public final Duration getDuration()
Gets the value of the `duration` property.

Property description:
  The duration of this `FadeTransition`.

  It is not possible to change the `duration` of a running `FadeTransition`. If the value of `duration` is changed for a running `FadeTransition`, 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
Returns:
  the value of the `duration` property
See Also:
  - `setDuration(Duration)`
  - `durationProperty()`

### durationProperty

public final ObjectProperty<Duration> durationProperty()
The duration of this `FadeTransition`.

It is not possible to change the `duration` of a running `FadeTransition`. If the value of `duration` is changed for a running `FadeTransition`, 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
Returns:
  the `duration` property
See Also:
  - `getDuration()`
  - `setDuration(Duration)`

### setFromValue

public final void setFromValue(double value)
Sets the value of the `fromValue` property.

Property description:
  Specifies the start opacity value for this `FadeTransition`.

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

Default value:
  `Double.NaN`
Parameters:
  `value` - the value for the `fromValue` property
See Also:
  - `getFromValue()`
  - `fromValueProperty()`

### getFromValue

public final double getFromValue()
Gets the value of the `fromValue` property.

Property description:
  Specifies the start opacity value for this `FadeTransition`.

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

Default value:
  `Double.NaN`
Returns:
  the value of the `fromValue` property
See Also:
  - `setFromValue(double)`
  - `fromValueProperty()`

### fromValueProperty

public final DoubleProperty fromValueProperty()
Specifies the start opacity value for this `FadeTransition`.

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

Default value:
  `Double.NaN`
Returns:
  the `fromValue` property
See Also:
  - `getFromValue()`
  - `setFromValue(double)`

### setToValue

public final void setToValue(double value)
Sets the value of the `toValue` property.

Property description:
  Specifies the stop opacity value for this `FadeTransition`.

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

Default value:
  `Double.NaN`
Parameters:
  `value` - the value for the `toValue` property
See Also:
  - `getToValue()`
  - `toValueProperty()`

### getToValue

public final double getToValue()
Gets the value of the `toValue` property.

Property description:
  Specifies the stop opacity value for this `FadeTransition`.

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

Default value:
  `Double.NaN`
Returns:
  the value of the `toValue` property
See Also:
  - `setToValue(double)`
  - `toValueProperty()`

### toValueProperty

public final DoubleProperty toValueProperty()
Specifies the stop opacity value for this `FadeTransition`.

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

Default value:
  `Double.NaN`
Returns:
  the `toValue` property
See Also:
  - `getToValue()`
  - `setToValue(double)`

### setByValue

public final void setByValue(double value)
Sets the value of the `byValue` property.

Property description:
  Specifies the incremented stop opacity value, from the start, of this `FadeTransition`.

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

Parameters:
  `value` - the value for the `byValue` property
See Also:
  - `getByValue()`
  - `byValueProperty()`

### getByValue

public final double getByValue()
Gets the value of the `byValue` property.

Property description:
  Specifies the incremented stop opacity value, from the start, of this `FadeTransition`.

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

Returns:
  the value of the `byValue` property
See Also:
  - `setByValue(double)`
  - `byValueProperty()`

### byValueProperty

public final DoubleProperty byValueProperty()
Specifies the incremented stop opacity value, from the start, of this `FadeTransition`.

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

Returns:
  the `byValue` property
See Also:
  - `getByValue()`
  - `setByValue(double)`

### interpolate

protected void interpolate(double frac)
The method `interpolate()` has to be provided by implementations of `Transition`. While a `Transition` is running, this method is called in every frame. The parameter defines the current position with the animation. At the start, the fraction will be `0.0` and at the end it will be `1.0`. How the parameter increases, depends on the `interpolator`, e.g. if the `interpolator` is `Interpolator.LINEAR`, the fraction will increase linear. This method must not be called by the user directly.

Specified by:
  `interpolate` in class `Transition`
Parameters:
  `frac` - The relative position