APIdia Launch Partner
Top Description Fields Constructors Methods
javafx.animation

public abstract Class Transition

extends Animation
Class Inheritance
Known Direct Subclasses
javafx.animation.TranslateTransition, javafx.animation.FadeTransition, javafx.animation.FillTransition, javafx.animation.ParallelTransition, javafx.animation.PathTransition, javafx.animation.PauseTransition, javafx.animation.RotateTransition, javafx.animation.ScaleTransition, javafx.animation.SequentialTransition, javafx.animation.StrokeTransition
Imports
com.sun.scenario.animation.AbstractPrimaryTimer, javafx.beans.property.ObjectProperty, .SimpleObjectProperty, javafx.scene.Node

An abstract class that contains the basic functionalities required by all Transition based animations, such as PathTransition and RotateTransition.

This class offers a simple framework to define animation. It provides all the basic functionality defined in Animation. Transition requires the implementation of a method interpolate(double) which is the called in each frame, while the Transition 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 in duration) for example. But it can also be calculated by the extending class as is done in ParallelTransition and FadeTransition.

Below is a simple example. It creates a small animation that updates the text property of a javafx.scene.text.Text node. It starts with an empty String and adds gradually letter by letter until the full String 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

Field Summary

Modifier and TypeField and Description
private Interpolator
private static final Interpolator
private ObjectProperty<Interpolator>
interpolator

Controls the timing for acceleration and deceleration at each Transition cycle.

Inherited from javafx.animation.Animation:
clipEnvelopeINDEFINITEparentpulseReceiver

Constructor Summary

AccessConstructor and Description
public
Transition(double
The custom target frame rate for this Transition
targetFramerate
)

The constructor of Transition.

public
Transition()

The constructor of Transition.

pack-priv

Method Summary

Modifier and TypeMethod and Description
private double
calculateFraction(long currentTicks, long cycleTicks)

pack-priv void
doJumpTo(long currentTicks, long cycleTicks, boolean forceJump)

Implements abstract javafx.animation.Animation.doJumpTo.

pack-priv void
doPlayTo(long currentTicks, long cycleTicks)

Implements abstract javafx.animation.Animation.doPlayTo.

protected Interpolator

Returns:

the Interpolator that was set when this Transition was started
getCachedInterpolator
()

Returns the Interpolator, that was set when the Transition was started.

public final Interpolator
protected Node

Returns:

the target Node
getParentTargetNode
()

Returns the first non-null target Node in the parent hierarchy of this Transition, or null if such a node is not found.

protected abstract void
interpolate(double
The relative position
frac
)

The method interpolate() has to be provided by implementations of Transition.

public final ObjectProperty<Interpolator>
public final void
pack-priv boolean
startable(boolean forceSync)

Overrides javafx.animation.Animation.startable.

pack-priv void
sync(boolean forceSync)

Overrides javafx.animation.Animation.sync.

Inherited from javafx.animation.Animation:
autoReversePropertycurrentRatePropertycurrentTimePropertycycleCountPropertycycleDurationPropertydelayPropertydoPausedoResumedoStartdoStopdoTimePulsefinishedgetCuePointsgetCurrentRategetCurrentTimegetCycleCountgetCycleDurationgetDelaygetOnFinishedgetRategetStatusgetTargetFramerategetTotalDurationisAutoReverseisNearZeroisPausedisRunningisStoppedjumpTojumpToonFinishedPropertypausepauseReceiverplayplayFromplayFromplayFromStartratePropertyresumeReceiverrunHandlersetAutoReversesetCurrentRatesetCurrentTickssetCycleCountsetCycleDurationsetDelaysetOnFinishedsetRatesetStatusstartReceiverstatusPropertystopstopImpltotalDurationProperty

Field Detail

cachedInterpolatorback to summary
private Interpolator cachedInterpolator
DEFAULT_INTERPOLATORback to summary
private static final Interpolator DEFAULT_INTERPOLATOR
interpolatorback to summary
private ObjectProperty<Interpolator> interpolator

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 running Transition, 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

Constructor Detail

Transitionback to summary
public Transition(double targetFramerate)

The constructor of Transition. This constructor allows to define a target framerate.

Parameters
targetFramerate:double

The custom target frame rate for this Transition

Transitionback to summary
public Transition()

The constructor of Transition.

Transitionback to summary
pack-priv Transition(AbstractPrimaryTimer timer)

Method Detail

calculateFractionback to summary
private double calculateFraction(long currentTicks, long cycleTicks)
doJumpToback to summary
pack-priv void doJumpTo(long currentTicks, long cycleTicks, boolean forceJump)

Implements abstract javafx.animation.Animation.doJumpTo.

Annotations
@Override
doPlayToback to summary
pack-priv void doPlayTo(long currentTicks, long cycleTicks)

Implements abstract javafx.animation.Animation.doPlayTo.

Annotations
@Override
getCachedInterpolatorback to summary
protected Interpolator getCachedInterpolator()

Returns the Interpolator, that was set when the Transition was started. Changing the interpolator of a running Transition should have no immediate effect. Instead the running Transition should continue to use the original Interpolator until it is stopped and started again.

Returns:Interpolator

the Interpolator that was set when this Transition was started

getInterpolatorback to summary
public final Interpolator getInterpolator()
getParentTargetNodeback to summary
protected Node getParentTargetNode()

Returns the first non-null target Node in the parent hierarchy of this Transition, or null if such a node is not found.

A parent animation is one that can have child animations. Examples are SequentialTransition and ParallelTransition. 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:Node

the target Node

interpolateback to summary
protected abstract 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.

Parameters
frac:double

The relative position

interpolatorPropertyback to summary
public final ObjectProperty<Interpolator> interpolatorProperty()
setInterpolatorback to summary
public final void setInterpolator(Interpolator value)
startableback to summary
pack-priv boolean startable(boolean forceSync)

Overrides javafx.animation.Animation.startable.

Annotations
@Override
syncback to summary
pack-priv void sync(boolean forceSync)

Overrides javafx.animation.Animation.sync.

Annotations
@Override