- java.lang.Object
-
- javafx.animation.Animation
-
- javafx.animation.Transition
-
- Непосредственные подклассы:
-
FadeTransition,FillTransition,ParallelTransition,PathTransition,PauseTransition,RotateTransition,ScaleTransition,SequentialTransition,StrokeTransition,TranslateTransition
public abstract class Transition extends Animation
Абстрактный класс, содержащий базовые функциональные возможности, необходимые для всех анимаций, основанных наTransition, таких какPathTransitionиRotateTransition.Этот класс предлагает простую структуру для определения анимации. Он предоставляет все основные функциональные возможности, определённые в
Animation. КлассTransitionтребует реализации методаinterpolate(double), который вызывается в каждом кадре во время выполнения анимации.Кроме того, расширяемому классу необходимо установить продолжительность одного цикла с помощью
Animation.setCycleDuration(javafx.util.Duration). Эта продолжительность обычно устанавливается пользователем с помощью свойства продолжительности (как вduration), например. Но ее также можно рассчитать в расширяемом классе, как это делается вParallelTransitionиFadeTransition.Ниже приведен простой пример. Он создает небольшую анимацию, которая обновляет свойство
textузлаText. Она начинается с пустогоStringи постепенно добавляет буквы по одной до тех пор, пока не будет задан полныйStringпри завершении анимации.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();- С тех пор:
- JavaFX 2.0
- См. также:
Animation
-
Краткое описание свойств
Свойства Тип Свойство Описание ObjectProperty<Interpolator>interpolatorУправляет временными характеристиками ускорения и замедления на каждом циклеTransition.-
Наследуемые свойства от класса javafx.animation.Animation
autoReverse, currentRate, currentTime, cycleCount, cycleDuration, delay, onFinished, rate, status, totalDuration
-
-
Краткое описание вложенных классов
-
Вложенные классы/интерфейсы, унаследованные от класса javafx.animation.Animation
Animation.Status
-
-
Краткое описание полей
-
Поля, унаследованные от класса javafx.animation.Animation
INDEFINITE
-
-
Краткое описание конструкторов
Конструкторы Конструктор Описание Transition()КонструкторTransition.Transition(double targetFramerate)КонструкторTransition.
-
Краткое описание методов
Все методыМетоды экземпляраАбстрактные методыКонкретные методы Модификатор и тип Метод Описание protected InterpolatorgetCachedInterpolator()ВозвращаетInterpolator, который был установлен при запускеTransition.InterpolatorgetInterpolator()Возвращает значение свойства interpolator.protected NodegetParentTargetNode()Возвращает первый не-nullцелевойNodeв иерархии родительских элементов данногоTransition, илиnull, если такой узел не найден.protected abstract voidinterpolate(double frac)Методinterpolate()должен быть реализован подклассамиTransition.ObjectProperty<Interpolator>interpolatorProperty()Управляет временными характеристиками ускорения и замедления на каждом циклеTransition.voidsetInterpolator(Interpolator value)Устанавливает значение свойства interpolator.-
Наследуемые методы от класса 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
-
-
Подробности свойства
-
interpolator
public final ObjectProperty<Interpolator> interpolatorProperty
Управляет временной шкалой ускорения и замедления на каждомTransitionцикле.Это можно изменить только до начала перехода или после его завершения. Если значение
interpolatorизменено для запущеннойTransition, анимацию необходимо остановить и запустить заново, чтобы использовать новое значение.По умолчанию интерполятор установлен в
Interpolator.EASE_BOTH.- Значение по умолчанию:
- EASE_BOTH
- См. также:
-
getInterpolator(),setInterpolator(Interpolator)
-
-
Подробности конструктора
-
Transition
public Transition(double targetFramerate)
КонструкторTransition. Этот конструктор позволяет определитьtarget framerate.- Параметры:
-
targetFramerate- Пользовательская целевая частота кадров для этойTransition
-
Transition
public Transition()
КонструкторTransition.
-
-
Подробности метода
-
setInterpolator
public final void setInterpolator(Interpolator value)
Устанавливает значение свойства interpolator.- Описание свойства:
- Управляет временной шкалой ускорения и замедления на каждом
Transitionцикле.Это можно изменить только до начала перехода или после его завершения. Если значение
interpolatorизменено для запущеннойTransition, анимацию необходимо остановить и запустить заново, чтобы использовать новое значение.По умолчанию интерполятор установлен в
Interpolator.EASE_BOTH. - Значение по умолчанию:
- EASE_BOTH
-
getInterpolator
public final Interpolator getInterpolator()
Возвращает значение свойства interpolator.- Описание свойства:
- Управляет временной шкалой ускорения и замедления на каждом
Transitionцикле.Это можно изменить только до начала перехода или после его завершения. Если значение
interpolatorизменено для запущеннойTransition, анимацию необходимо остановить и запустить заново, чтобы использовать новое значение.По умолчанию интерполятор установлен в
Interpolator.EASE_BOTH. - Значение по умолчанию:
- EASE_BOTH
-
interpolatorProperty
public final ObjectProperty<Interpolator> interpolatorProperty()
Управляет временной шкалой ускорения и замедления на каждомTransitionцикле.Это можно изменить только до начала перехода или после его завершения. Если значение
interpolatorизменено для запущеннойTransition, анимацию необходимо остановить и запустить заново, чтобы использовать новое значение.По умолчанию интерполятор установлен в
Interpolator.EASE_BOTH.- Значение по умолчанию:
- EASE_BOTH
- См. также:
-
getInterpolator(),setInterpolator(Interpolator)
-
getCachedInterpolator
protected Interpolator getCachedInterpolator()
ВозвращаетInterpolator, который был установлен при запускеTransition. ИзменениеinterpolatorзапущеннойTransitionне должно иметь немедленного эффекта. Вместо этого запущеннаяTransitionдолжна продолжить использовать исходныйInterpolatorдо тех пор, пока не будет остановлена и запущена заново.- Возвращает:
Interpolator, установленный при запуске этойTransition
-
getParentTargetNode
protected Node getParentTargetNode()
Возвращает первый узел-цель, не являющийсяnull, в родительской иерархии этогоNode, илиnull, если такой узел не найден.Родительская анимация — это анимация, которая может иметь дочерние анимации. Примерами являются
SequentialTransitionиParallelTransition. Родительская анимация также может быть дочерним элементом другой родительской анимации.Обратите внимание, что если у этой
Transitionесть целевой узел и она не является родительской анимацией, она будет проигнорирована во время вызова, так как этот метод запрашивает только родительские анимации.- Возвращает:
- целевой узел
Node
-
interpolate
protected abstract void interpolate(double frac)
Методinterpolate()должен быть реализован реализациямиTransition. Во время выполненияTransitionэтот метод вызывается в каждом кадре. Параметр определяет текущую позицию с анимацией. В начале дробь будет0.0, а в конце —1.0. Как увеличивается параметр, зависит отinterpolator, например, еслиinterpolator—Interpolator.LINEAR, дробь будет увеличиваться линейно. Этот метод не должен вызываться пользователем напрямую.- Параметры:
-
frac- Относительное положение
-
© 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.