- 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)
,这是每帧中调用的,而Transition
正在运行。此外,扩展类需要设置一个单个周期的持续时间为
Animation.setCycleDuration(javafx.util.Duration)
。 此持续时间通常由用户通过持续时间属性设置(例如,如FadeTransition.duration
)。 但是也可以通过扩展类来计算,如ParallelTransition
和FadeTransition
中所述 。以下是一个简单的例子。 它创建一个小型动画,更新
Text
节点的text
属性。 它从一个空的String
开始,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
-
-
Property Summary
Properties Type Property 描述 ObjectProperty<Interpolator>
interpolator
控制每个Transition
循环的加速和减速时序。-
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 描述 Transition()
构造函数为Transition
。Transition(double targetFramerate)
构造函数为Transition
。
-
方法摘要
所有方法 接口方法 抽象方法 具体的方法 Modifier and Type 方法 描述 protected Interpolator
getCachedInterpolator()
返回Interpolator
,当Transition
启动时设置。Interpolator
getInterpolator()
获取属性interpolator的值。protected Node
getParentTargetNode()
返回Transition的动画的目标Transition
。protected abstract void
interpolate(double frac)
方法interpolate()
必须由Transition
的实现来提供。ObjectProperty<Interpolator>
interpolatorProperty()
控制每个Transition
周期的加速和减速时序。void
setInterpolator(Interpolator value)
设置属性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
控制每个Transition
周期的加速和减速时序。这只能在开始转换之前或转换结束之后更改。 如果值
interpolator
改变正在运行的Transition
,动画必须停止并重新开始拿起新的价值。默认内插器设置为
Interpolator.EASE_BOTH
。- Default value:
- EASE_BOTH
- 另请参见:
-
getInterpolator()
,setInterpolator(Interpolator)
-
-
构造方法详细信息
-
Transition
public Transition(double targetFramerate)
构造函数为Transition
。 这个构造函数允许定义一个Animation.targetFramerate
。- 参数
-
targetFramerate
-自定义的目标帧速率此Transition
-
Transition
public Transition()
构造函数为Transition
。
-
-
方法详细信息
-
setInterpolator
public final void setInterpolator(Interpolator value)
设置属性interpolator的值。- Property description:
-
控制每个
Transition
周期的加速和减速时序。这只能在开始转换之前或转换结束之后更改。 如果值
interpolator
改变正在运行的Transition
,动画必须停止并重新开始拿起新的价值。默认内插器设置为
Interpolator.EASE_BOTH
。 - Default value:
- EASE_BOTH
-
getInterpolator
public final Interpolator getInterpolator()
获取属性interpolator的值。- Property description:
-
控制每个
Transition
循环的加速和减速时序。这只能在开始转换之前或转换结束之后更改。 如果值
interpolator
改变正在运行的Transition
,动画必须停止并重新开始拿起新的价值。默认内插器设置为
Interpolator.EASE_BOTH
。 - Default value:
- EASE_BOTH
-
interpolatorProperty
public final ObjectProperty<Interpolator> interpolatorProperty()
控制每个Transition
周期的加速和减速时序。这只能在开始转换之前或转换结束之后更改。 如果值
interpolator
改变正在运行的Transition
,动画必须停止并重新开始拿起新的价值。默认插值器设置为
Interpolator.EASE_BOTH
。- Default value:
- EASE_BOTH
- 另请参见:
-
getInterpolator()
,setInterpolator(Interpolator)
-
getCachedInterpolator
protected Interpolator getCachedInterpolator()
返回Interpolator
,当Transition
启动时设置。 更改interpolator
运行的Transition
应该没有立竿见影的效果。 相反,运行Transition
应该继续使用原来的Interpolator
直到它停止并再次启动。- 结果
-
在
Interpolator
当这所设定Transition
开始
-
getParentTargetNode
protected Node getParentTargetNode()
返回此Transition的动画的目标Transition
。 如果设置了此方法,则返回node
,否则返回其parent.getTargetNode()
。- 结果
-
目标
Node
-
interpolate
protected abstract void interpolate(double frac)
方法interpolate()
必须由Transition
的实现来提供。 当一个Transition
正在运行时,这个方法在每个帧中被调用。 该参数用动画定义当前位置。 一开始,分数将为0.0
,最终将为1.0
。 参数如何增加,取决于interpolator
,例如如果interpolator
是Interpolator.LINEAR
,分数会增加线性。 该方法不能直接由用户调用。- 参数
-
frac
- 相对位置
-
-