Spec-Zone.ru › OpenJavaFX 17

Class Transition

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

Property Summary

Properties
Type Property Description
ObjectProperty<Interpolator> interpolator
Controls the timing for acceleration and deceleration at each Transition cycle.

Properties declared in class javafx.animation.Animation

autoReverse, currentRate, currentTime, cycleCount, cycleDuration, delay, onFinished, rate, status, totalDuration

Nested Class Summary

Nested classes/interfaces declared in class javafx.animation.Animation

Animation.Status

Field Summary

Fields declared in class javafx.animation.Animation

INDEFINITE

Constructor Summary

Constructors
Constructor Description
Transition()
The constructor of Transition.
Transition​(double targetFramerate)
The constructor of Transition.

Method Summary

Modifier and Type Method Description
protected Interpolator getCachedInterpolator()
Returns the Interpolator, that was set when the Transition was started.
Interpolator getInterpolator()
Gets the value of the property interpolator.
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.
protected abstract void interpolate​(double frac)
The method interpolate() has to be provided by implementations of Transition.
ObjectProperty<Interpolator> interpolatorProperty()
Controls the timing for acceleration and deceleration at each Transition cycle.
void setInterpolator​(Interpolator value)
Sets the value of the property interpolator.

Methods declared in 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 declared in class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Property Details

interpolator

public final ObjectProperty<Interpolator> interpolatorProperty
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
See Also:
getInterpolator(), setInterpolator(Interpolator)

Constructor Details

Transition

public Transition(double targetFramerate)
The constructor of Transition. This constructor allows to define a target framerate.
Parameters:
targetFramerate - The custom target frame rate for this Transition

Transition

public Transition()
The constructor of Transition.

Method Details

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

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

interpolatorProperty

public final ObjectProperty<Interpolator> interpolatorProperty()
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
See Also:
getInterpolator(), setInterpolator(Interpolator)

getCachedInterpolator

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:
the Interpolator that was set when this Transition was started

getParentTargetNode

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:
the target Node

interpolate

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 - The relative position

© 2008, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from JavaFX API Documentation.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Java, JavaFX and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API