Module javafx.graphics
Package javafx.animation

# Class StrokeTransition

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

    public final class StrokeTransition
    extends Transition

This `Transition` creates an animation, that changes the stroke color of a shape over a `duration`. This is done by updating the `stroke` variable of the `shape` at regular intervals.

It starts from the `fromValue` if provided else uses the `shape` 's `stroke` value. (The `stroke` value has to be a `Color` in this case).

It stops at the `toValue` value.

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(null);

         StrokeTransition st = new StrokeTransition(Duration.millis(3000), rect, Color.RED, Color.BLUE);
         st.setCycleCount(4);
         st.setAutoReverse(true);

         st.play();

     ...

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

- ## Property Summary

  Properties
  Type | Property | Description
  --- | --- | ---
  `ObjectProperty<Duration>` | `duration` | The duration of this `StrokeTransition`.
  `ObjectProperty<Color>` | `fromValue` | Specifies the start color value for this `StrokeTransition`.
  `ObjectProperty<Shape>` | `shape` | The target shape of this `StrokeTransition`.
  `ObjectProperty<Color>` | `toValue` | Specifies the stop color value for this `StrokeTransition`.

  ### 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
  --- | ---
  `StrokeTransition()` | The constructor of `StrokeTransition`
  `StrokeTransition​(Duration duration)` | The constructor of `StrokeTransition`
  `StrokeTransition​(Duration duration, Color fromValue, Color toValue)` | The constructor of `StrokeTransition`
  `StrokeTransition​(Duration duration, Shape shape)` | The constructor of `StrokeTransition`
  `StrokeTransition​(Duration duration, Shape shape, Color fromValue, Color toValue)` | The constructor of `StrokeTransition`

- ## Method Summary

  Modifier and Type | Method | Description
  --- | --- | ---
  `ObjectProperty<Duration>` | `durationProperty()` | The duration of this `StrokeTransition`.
  `ObjectProperty<Color>` | `fromValueProperty()` | Specifies the start color value for this `StrokeTransition`.
  `Duration` | `getDuration()` | Gets the value of the property duration.
  `Color` | `getFromValue()` | Gets the value of the property fromValue.
  `Shape` | `getShape()` | Gets the value of the property shape.
  `Color` | `getToValue()` | Gets the value of the property toValue.
  `protected void` | `interpolate​(double frac)` | The method `interpolate()` has to be provided by implementations of `Transition`.
  `void` | `setDuration​(Duration value)` | Sets the value of the property duration.
  `void` | `setFromValue​(Color value)` | Sets the value of the property fromValue.
  `void` | `setShape​(Shape value)` | Sets the value of the property shape.
  `void` | `setToValue​(Color value)` | Sets the value of the property toValue.
  `ObjectProperty<Shape>` | `shapeProperty()` | The target shape of this `StrokeTransition`.
  `ObjectProperty<Color>` | `toValueProperty()` | Specifies the stop color value for this `StrokeTransition`.

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

  - ### shape

    public final ObjectProperty<Shape> shapeProperty
    The target shape of this `StrokeTransition`.

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

    See Also:
      `getShape()`, `setShape(Shape)`

  - ### duration

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

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

  - ### fromValue

    public final ObjectProperty<Color> fromValueProperty
    Specifies the start color value for this `StrokeTransition`.

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

    Default value:
      `null`
    See Also:
      `getFromValue()`, `setFromValue(Color)`

  - ### toValue

    public final ObjectProperty<Color> toValueProperty
    Specifies the stop color value for this `StrokeTransition`.

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

    Default value:
      `null`
    See Also:
      `getToValue()`, `setToValue(Color)`

- ## Constructor Details

  - ### StrokeTransition

    public StrokeTransition​(Duration duration, Shape shape, Color fromValue, Color toValue)
    The constructor of `StrokeTransition`
    Parameters:
      `duration` - The duration of the `StrokeTransition`
      `shape` - The `shape` which filling will be animated
      `fromValue` - The start value of the color-animation
      `toValue` - The end value of the color-animation

  - ### StrokeTransition

    public StrokeTransition​(Duration duration, Color fromValue, Color toValue)
    The constructor of `StrokeTransition`
    Parameters:
      `duration` - The duration of the `StrokeTransition`
      `fromValue` - The start value of the color-animation
      `toValue` - The end value of the color-animation

  - ### StrokeTransition

    public StrokeTransition​(Duration duration, Shape shape)
    The constructor of `StrokeTransition`
    Parameters:
      `duration` - The duration of the `StrokeTransition`
      `shape` - The `shape` which stroke paint will be animated

  - ### StrokeTransition

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

  - ### StrokeTransition

    public StrokeTransition()
    The constructor of `StrokeTransition`

- ## Method Details

  - ### setShape

    public final void setShape​(Shape value)
    Sets the value of the property shape.
    Property description:
      The target shape of this `StrokeTransition`.

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

  - ### getShape

    public final Shape getShape()
    Gets the value of the property shape.
    Property description:
      The target shape of this `StrokeTransition`.

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

  - ### shapeProperty

    public final ObjectProperty<Shape> shapeProperty()
    The target shape of this `StrokeTransition`.

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

    See Also:
      `getShape()`, `setShape(Shape)`

  - ### setDuration

    public final void setDuration​(Duration value)
    Sets the value of the property duration.
    Property description:
      The duration of this `StrokeTransition`.

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

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

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

  - ### setFromValue

    public final void setFromValue​(Color value)
    Sets the value of the property fromValue.
    Property description:
      Specifies the start color value for this `StrokeTransition`.

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

    Default value:
      `null`

  - ### getFromValue

    public final Color getFromValue()
    Gets the value of the property fromValue.
    Property description:
      Specifies the start color value for this `StrokeTransition`.

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

    Default value:
      `null`

  - ### fromValueProperty

    public final ObjectProperty<Color> fromValueProperty()
    Specifies the start color value for this `StrokeTransition`.

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

    Default value:
      `null`
    See Also:
      `getFromValue()`, `setFromValue(Color)`

  - ### setToValue

    public final void setToValue​(Color value)
    Sets the value of the property toValue.
    Property description:
      Specifies the stop color value for this `StrokeTransition`.

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

    Default value:
      `null`

  - ### getToValue

    public final Color getToValue()
    Gets the value of the property toValue.
    Property description:
      Specifies the stop color value for this `StrokeTransition`.

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

    Default value:
      `null`

  - ### toValueProperty

    public final ObjectProperty<Color> toValueProperty()
    Specifies the stop color value for this `StrokeTransition`.

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

    Default value:
      `null`
    See Also:
      `getToValue()`, `setToValue(Color)`

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