public final class StrokeTransition extends Transition
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.transition.*;
...
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();
...
Transition
,
Animation
Animation.Status
Modifier and Type | Field and Description |
---|---|
private Shape |
cachedShape |
private static Duration |
DEFAULT_DURATION |
private static Color |
DEFAULT_FROM_VALUE |
private static Shape |
DEFAULT_SHAPE |
private static Color |
DEFAULT_TO_VALUE |
private ObjectProperty<Duration> |
duration
The duration of this
StrokeTransition . |
private Color |
end |
private ObjectProperty<Color> |
fromValue
Specifies the start color value for this
StrokeTransition . |
private ObjectProperty<Shape> |
shape
The target shape of this
StrokeTransition . |
private Color |
start |
private ObjectProperty<Color> |
toValue
Specifies the stop color value for this
StrokeTransition . |
clipEnvelope, INDEFINITE, parent, pulseReceiver
Constructor and 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 |
Modifier and Type | Method and Description |
---|---|
ObjectProperty<Duration> |
durationProperty() |
ObjectProperty<Color> |
fromValueProperty() |
Duration |
getDuration() |
Color |
getFromValue() |
Shape |
getShape() |
private Shape |
getTargetShape() |
Color |
getToValue() |
(package private) boolean |
impl_startable(boolean forceSync) |
(package private) void |
impl_sync(boolean forceSync) |
protected void |
interpolate(double frac)
The method
interpolate() has to be provided by implementations of
Transition . |
void |
setDuration(Duration value) |
void |
setFromValue(Color value) |
void |
setShape(Shape value) |
void |
setToValue(Color value) |
ObjectProperty<Shape> |
shapeProperty() |
ObjectProperty<Color> |
toValueProperty() |
getCachedInterpolator, getInterpolator, getParentTargetNode, impl_jumpTo, impl_playTo, interpolatorProperty, setInterpolator
autoReverseProperty, currentRateProperty, currentTimeProperty, cycleCountProperty, cycleDurationProperty, delayProperty, getCuePoints, getCurrentRate, getCurrentTime, getCycleCount, getCycleDuration, getDelay, getOnFinished, getRate, getStatus, getTargetFramerate, getTotalDuration, impl_finished, impl_pause, impl_resume, impl_setCurrentRate, impl_setCurrentTicks, impl_start, impl_stop, impl_timePulse, isAutoReverse, jumpTo, jumpTo, onFinishedProperty, pause, pauseReceiver, play, playFrom, playFrom, playFromStart, rateProperty, resumeReceiver, setAutoReverse, setCycleCount, setCycleDuration, setDelay, setOnFinished, setRate, setStatus, startReceiver, statusProperty, stop, totalDurationProperty
private Color start
private Color end
private ObjectProperty<Shape> shape
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.
private static final Shape DEFAULT_SHAPE
private Shape cachedShape
private ObjectProperty<Duration> duration
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
.
private static final Duration DEFAULT_DURATION
private ObjectProperty<Color> fromValue
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.
private static final Color DEFAULT_FROM_VALUE
private ObjectProperty<Color> toValue
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.
private static final Color DEFAULT_TO_VALUE
public StrokeTransition(Duration duration, Shape shape, Color fromValue, Color toValue)
StrokeTransition
duration
- The duration of the StrokeTransition
shape
- The shape
which filling will be animatedfromValue
- The start value of the color-animationtoValue
- The end value of the color-animationpublic StrokeTransition(Duration duration, Color fromValue, Color toValue)
StrokeTransition
duration
- The duration of the StrokeTransition
fromValue
- The start value of the color-animationtoValue
- The end value of the color-animationpublic StrokeTransition(Duration duration, Shape shape)
StrokeTransition
duration
- The duration of the StrokeTransition
shape
- The shape
which stroke paint will be animatedpublic StrokeTransition(Duration duration)
StrokeTransition
duration
- The duration of the StrokeTransition
public StrokeTransition()
StrokeTransition
public final void setShape(Shape value)
public final Shape getShape()
public final ObjectProperty<Shape> shapeProperty()
public final void setDuration(Duration value)
public final Duration getDuration()
public final ObjectProperty<Duration> durationProperty()
public final void setFromValue(Color value)
public final Color getFromValue()
public final ObjectProperty<Color> fromValueProperty()
public final void setToValue(Color value)
public final Color getToValue()
public final ObjectProperty<Color> toValueProperty()
protected void interpolate(double frac)
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 positionprivate Shape getTargetShape()
boolean impl_startable(boolean forceSync)
impl_startable
in class Transition
void impl_sync(boolean forceSync)
impl_sync
in class Transition