- java.lang.Object
-
- javafx.animation.Animation
-
- javafx.animation.Transition
-
- Direct Known Subclasses:
FadeTransition
,FillTransition
,ParallelTransition
,PathTransition
,PauseTransition
,RotateTransition
,ScaleTransition
,SequentialTransition
,StrokeTransition
,TranslateTransition
public abstract class Transition extends Animation
An abstract class that contains the basic functionalities required by allTransition
based animations, such asPathTransition
andRotateTransition
.This class offers a simple framework to define animation. It provides all the basic functionality defined in
Animation
.Transition
requires the implementation of a methodinterpolate(double)
which is the called in each frame, while theTransition
is running.In addition an extending class needs to set the duration of a single cycle with
Animation.setCycleDuration(javafx.util.Duration)
. This duration is usually set by the user via a duration property (as induration
) for example. But it can also be calculated by the extending class as is done inParallelTransition
andFadeTransition
.Below is a simple example. It creates a small animation that updates the
text
property of aText
node. It starts with an emptyString
and adds gradually letter by letter until the fullString
was set when the animation finishes.final String content = "Lorem ipsum"; final Text text = new Text(10, 20, ""); final Animation animation = new Transition() { { setCycleDuration(Duration.millis(2000)); } protected void interpolate(double frac) { final int length = content.length(); final int n = Math.round(length * (float) frac); text.setText(content.substring(0, n)); } }; animation.play();
- Since:
- JavaFX 2.0
- See Also:
Animation
-
-
Property Summary
Properties Type Property Description ObjectProperty<Interpolator>
interpolator
Controls the timing for acceleration and deceleration at eachTransition
cycle.-
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 Transition()
The constructor ofTransition
.Transition(double targetFramerate)
The constructor ofTransition
.
-
Method Summary
Modifier and Type Method Description protected Interpolator
getCachedInterpolator()
Returns theInterpolator
, that was set when theTransition
was started.Interpolator
getInterpolator()
Gets the value of the property interpolator.protected Node
getParentTargetNode()
Returns the first non-null
targetNode
in the parent hierarchy of thisTransition
, ornull
if such a node is not found.protected abstract void
interpolate(double frac)
The methodinterpolate()
has to be provided by implementations ofTransition
.ObjectProperty<Interpolator>
interpolatorProperty()
Controls the timing for acceleration and deceleration at eachTransition
cycle.void
setInterpolator(Interpolator value)
Sets the value of the property interpolator.-
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
-
-
-
-
Property Detail
-
interpolator
public final ObjectProperty<Interpolator> interpolatorProperty
Controls the timing for acceleration and deceleration at eachTransition
cycle.This may only be changed prior to starting the transition or after the transition has ended. If the value of
interpolator
is changed for a runningTransition
, the animation has to be stopped and started again to pick up the new value.Default interpolator is set to
Interpolator.EASE_BOTH
.- Default value:
- EASE_BOTH
- See Also:
getInterpolator()
,setInterpolator(Interpolator)
-
-
Constructor Detail
-
Transition
public Transition(double targetFramerate)
The constructor ofTransition
. This constructor allows to define atarget framerate
.- Parameters:
targetFramerate
- The custom target frame rate for thisTransition
-
Transition
public Transition()
The constructor ofTransition
.
-
-
Method Detail
-
setInterpolator
public final void setInterpolator(Interpolator value)
Sets the value of the property interpolator.- Property description:
- Controls the timing for acceleration and deceleration at each
Transition
cycle.This may only be changed prior to starting the transition or after the transition has ended. If the value of
interpolator
is changed for a runningTransition
, the animation has to be stopped and started again to pick up the new value.Default interpolator is set to
Interpolator.EASE_BOTH
. - Default value:
- EASE_BOTH
-
getInterpolator
public final Interpolator getInterpolator()
Gets the value of the property interpolator.- Property description:
- Controls the timing for acceleration and deceleration at each
Transition
cycle.This may only be changed prior to starting the transition or after the transition has ended. If the value of
interpolator
is changed for a runningTransition
, the animation has to be stopped and started again to pick up the new value.Default interpolator is set to
Interpolator.EASE_BOTH
. - Default value:
- EASE_BOTH
-
interpolatorProperty
public final ObjectProperty<Interpolator> interpolatorProperty()
Controls the timing for acceleration and deceleration at eachTransition
cycle.This may only be changed prior to starting the transition or after the transition has ended. If the value of
interpolator
is changed for a runningTransition
, the animation has to be stopped and started again to pick up the new value.Default interpolator is set to
Interpolator.EASE_BOTH
.- Default value:
- EASE_BOTH
- See Also:
getInterpolator()
,setInterpolator(Interpolator)
-
getCachedInterpolator
protected Interpolator getCachedInterpolator()
Returns theInterpolator
, that was set when theTransition
was started. Changing theinterpolator
of a runningTransition
should have no immediate effect. Instead the runningTransition
should continue to use the originalInterpolator
until it is stopped and started again.- Returns:
- the
Interpolator
that was set when thisTransition
was started
-
getParentTargetNode
protected Node getParentTargetNode()
Returns the first non-null
targetNode
in the parent hierarchy of thisTransition
, ornull
if such a node is not found.A parent animation is one that can have child animations. Examples are
SequentialTransition
andParallelTransition
. A parent animation can also be a child of another parent animation.Note that if this
Transition
has a target node set and is not a parent animation, it will be ignored during the call as this method only queries parent animations.- Returns:
- the target
Node
-
interpolate
protected abstract void interpolate(double frac)
The methodinterpolate()
has to be provided by implementations ofTransition
. While aTransition
is running, this method is called in every frame. The parameter defines the current position with the animation. At the start, the fraction will be0.0
and at the end it will be1.0
. How the parameter increases, depends on theinterpolator
, e.g. if theinterpolator
isInterpolator.LINEAR
, the fraction will increase linear. This method must not be called by the user directly.- Parameters:
frac
- The relative position
-
-