- java.lang.Object
-
- javafx.animation.Animation
-
- 已知直接子类:
-
Timeline
,Transition
public abstract class Animation extends Object
Animation
提供了JavaFX运行时使用的所有动画的核心功能。动画可以通过设置
cycleCount
循环运行。 要使循环播放动画时,请设置autoReverse
-flag。致电
play()
或playFromStart()
播放Animation
。 所述Animation
进展中所指定的方向和速度rate
,并且当它的持续时间经过停止。 一个Animation
持续时间( 270653606162376的INDEFINITE
),直到stop()
方法被显式调用,这将停止运行Animation
并将其播放头重置到初始位置。一个
Animation
可以通过致电pause()
暂停,而下一个play()
呼叫将从其暂停的Animation
恢复Animation
。一个
Animation
的游戏头可以随机定位,无论是否运行。 如果Animation
正在运行,则播放头立即跳转到指定位置,并继续从新位置播放。 如果Animation
没有运行,下一个play()
将从指定的位置启动Animation
。反转
rate
的值切换播放方向。- 从以下版本开始:
- JavaFX 2.0
- 另请参见:
-
Timeline
,Transition
-
-
Property Summary
Properties Type Property 描述 BooleanProperty
autoReverse
定义Animation
是否在交替循环中反转方向。ReadOnlyDoubleProperty
currentRate
只读变量,用于指示正在播放Animation
当前方向/速度。ReadOnlyObjectProperty<Duration>
currentTime
定义Animation
的播放头位置。IntegerProperty
cycleCount
定义此动画中的循环次数。ReadOnlyObjectProperty<Duration>
cycleDuration
只读变量指示Animation
的一个周期的持续时间:从时间0到动画结束所需的时间(默认为rate
为1.0)。ObjectProperty<Duration>
delay
延迟动画的开始。ObjectProperty<EventHandler<ActionEvent>>
onFinished
在这个Animation
结束时执行的行动。DoubleProperty
rate
定义Animation
预计播放的方向/速度。ReadOnlyObjectProperty<Animation.Status>
status
的状态Animation
。ReadOnlyObjectProperty<Duration>
totalDuration
只读变量来指示这个Animation
的总持续时间,包括重复。
-
Nested Class Summary
Nested Classes Modifier and Type Class 描述 static class
Animation.Status
可能的状态为status
。
-
Field Summary
Fields Modifier and Type Field 描述 static int
INDEFINITE
用于指定无限期重复的动画,直到调用stop()
方法。
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 BooleanProperty
autoReverseProperty()
定义Animation
是否在交替循环中反转方向。ReadOnlyDoubleProperty
currentRateProperty()
只读变量,用于指示正在播放Animation
当前方向/速度。ReadOnlyObjectProperty<Duration>
currentTimeProperty()
定义Animation
的播放位置。IntegerProperty
cycleCountProperty()
定义此动画中的循环次数。ReadOnlyObjectProperty<Duration>
cycleDurationProperty()
用于指示Animation
的一个周期持续时间的只读变量:从时间0到动画结束所需的时间(默认为rate
为1.0)。ObjectProperty<Duration>
delayProperty()
延迟动画的开始。ObservableMap<String,Duration>
getCuePoints()
提示点可用于标记Animation
重要位置。double
getCurrentRate()
获取属性currentRate的值。Duration
getCurrentTime()
获取属性currentTime的值。int
getCycleCount()
获取属性cycleCount的值。Duration
getCycleDuration()
获取属性cycleDuration的值。Duration
getDelay()
获取属性延迟的值。EventHandler<ActionEvent>
getOnFinished()
获取属性onFinished的值。double
getRate()
获取房价的价值。Animation.Status
getStatus()
获取属性状态的值。double
getTargetFramerate()
目标帧率是Animation
将以每秒帧数运行的最大帧速率。Duration
getTotalDuration()
获取属性totalDuration的值。boolean
isAutoReverse()
获取属性autoReverse的值。void
jumpTo(String cuePoint)
Animation
这个Animation
的预定义位置。void
jumpTo(Duration time)
Animation
这个Animation
的给定位置。ObjectProperty<EventHandler<ActionEvent>>
onFinishedProperty()
在这个Animation
的结尾执行的行动。void
pause()
暂停动画。void
play()
起着Animation
从在所指示的方向当前位置rate
。void
playFrom(String cuePoint)
从预定位置播放Animation
方便方法。void
playFrom(Duration time)
从一个特定的位置播放这个Animation
一个方便的方法。void
playFromStart()
从正向起始位置播放Animation
。DoubleProperty
rateProperty()
定义Animation
预计播放的方向/速度。void
setAutoReverse(boolean value)
设置属性autoReverse的值。void
setCycleCount(int value)
设置属性cycleCount的值。protected void
setCycleDuration(Duration value)
设置属性cycleDuration的值。void
setDelay(Duration value)
设置属性延迟的值。void
setOnFinished(EventHandler<ActionEvent> value)
设置属性onFinished的值。void
setRate(double value)
设置属性率的值。protected void
setStatus(Animation.Status value)
设置属性状态的值。ReadOnlyObjectProperty<Animation.Status>
statusProperty()
的状态Animation
。void
stop()
停止动画并将播放头重置到其初始位置。ReadOnlyObjectProperty<Duration>
totalDurationProperty()
只读变量,用于指示此Animation
的总持续时间,包括重复。
-
-
-
Property Detail
-
rate
public final DoubleProperty rateProperty
定义Animation
预计播放的方向/速度。的绝对值
rate
指示哪个速度Animation
要被播放,而符号rate
指示的方向。 正值rate
表示正向播放,负值表示反向播放,0.0
停止运行Animation
。价格
1.0
是正常播放,2.0
是2次正常,-1.0
是倒退等...反转运行速度
Animation
将导致Animation
反转方向,并播放已经过去的部分Animation
。- Default value:
- 1.0
- 另请参见:
-
getRate()
,setRate(double)
-
currentRate
public final ReadOnlyDoubleProperty currentRateProperty
只读变量来指示正在播放Animation
当前方向/速度。currentRate
不需要等于rate
。currentRate
设置为0.0
当动画暂停或停止。currentRate
也可能在反向循环期间指向不同的方向,当autoReverse
为true
- Default value:
- 0.0
- 另请参见:
-
getCurrentRate()
-
cycleDuration
public final ReadOnlyObjectProperty<Duration> cycleDurationProperty
用于指示Animation
的一个周期持续时间的只读变量:从时间0到动画结束所需的时间(默认为rate
为1.0)。- Default value:
- 0毫秒
- 另请参见:
-
getCycleDuration()
,setCycleDuration(Duration)
-
totalDuration
public final ReadOnlyObjectProperty<Duration> totalDurationProperty
只读变量来表示这个Animation
的总持续时间,包括重复。 AAnimation
与cycleCount
的Animation.INDEFINITE
将有一个totalDuration
的Duration.INDEFINITE
。这被设置为cycleDuration * cycleCount。
- Default value:
- 0毫秒
- 另请参见:
-
getTotalDuration()
-
currentTime
public final ReadOnlyObjectProperty<Duration> currentTimeProperty
定义Animation
的播放位置。- Default value:
- 0毫秒
- 另请参见:
-
getCurrentTime()
-
delay
public final ObjectProperty<Duration> delayProperty
- Default value:
- 0毫秒
- 另请参见:
-
getDelay()
,setDelay(Duration)
-
cycleCount
public final IntegerProperty cycleCountProperty
定义此动画中的循环次数。 对于无限期重复的动画,cycleCount
可能为INDEFINITE
,否则为> 0。不可能更改
cycleCount
的一个正在运行的Animation
。 如果值cycleCount
改变正在运行的Animation
,动画必须停止并重新开始拿起新的价值。- Default value:
- 1.0
- 另请参见:
-
getCycleCount()
,setCycleCount(int)
-
autoReverse
public final BooleanProperty autoReverseProperty
定义Animation
是否在交替循环中反转方向。 如果true
,该Animation
将继续推进在第一个周期,然后反转的第二个周期,依此类推。 否则,动画将循环,使得每个循环从一开始就向前推进。 不可能更改autoReverse
标志的一个正在运行的Animation
。 如果值autoReverse
改变正在运行的Animation
,动画必须停止并重新开始拿起新的价值。- Default value:
- 假
- 另请参见:
-
isAutoReverse()
,setAutoReverse(boolean)
-
status
public final ReadOnlyObjectProperty<Animation.Status> statusProperty
状态为Animation
。 在Animation
可以在三种状态之一:Animation.Status.STOPPED
,Animation.Status.PAUSED
或者Animation.Status.RUNNING
。
-
onFinished
public final ObjectProperty<EventHandler<ActionEvent>> onFinishedProperty
在这个Animation
结束时执行的行动。- Default value:
- 空值
- 另请参见:
-
getOnFinished()
,setOnFinished(EventHandler)
-
-
字段详细信息
-
INDEFINITE
public static final int INDEFINITE
用于指定无限期重复的动画,直到调用stop()
方法。- 另请参见:
- Constant Field Values
-
-
构造方法详细信息
-
Animation
protected Animation(double targetFramerate)
构造函数为Animation
。 此构造函数允许定义目标帧率。- 参数
-
targetFramerate
-自定义的目标帧速率此Animation
- 另请参见:
-
getTargetFramerate()
-
Animation
protected Animation()
构造函数为Animation
。
-
-
方法详细信息
-
setRate
public final void setRate(double value)
设置属性率的值。- Property description:
-
定义
Animation
预计播放的方向/速度。的绝对值
rate
指示哪个速度Animation
要被播放,而符号rate
指示的方向。 正值rate
表示正向播放,负值表示反向播放,0.0
停止运行Animation
。价格
1.0
是正常播放,2.0
是2次正常,-1.0
是倒退等...反转运行速度
Animation
将导致Animation
反转方向,并播放已经过去的部分Animation
。 - Default value:
- 1.0
-
getRate
public final double getRate()
获取房价的价值。- Property description:
-
定义
Animation
预计播放的方向/速度。的绝对值
rate
指示哪个速度Animation
要被播放,而符号rate
指示的方向。 正值rate
表示正向播放,负值表示反向播放,0.0
停止运行Animation
。价格
1.0
是正常播放,2.0
是2次正常,-1.0
是倒退等等...反转运行速率
Animation
将导致Animation
反转方向,并播放已经过去的Animation
部分。 - Default value:
- 1.0
-
rateProperty
public final DoubleProperty rateProperty()
定义Animation
预计播放的方向/速度。的绝对值
rate
指示哪个速度Animation
要被播放,而符号rate
指示的方向。 正值rate
表示正向播放,负值表示反向播放,0.0
停止运行Animation
。价格
1.0
是正常播放,2.0
是2次正常,-1.0
是倒退等等...反转运行速度
Animation
将导致Animation
反转方向,并播放已经过去的部分Animation
。- Default value:
- 1.0
- 另请参见:
-
getRate()
,setRate(double)
-
getCurrentRate
public final double getCurrentRate()
获取属性currentRate的值。- Property description:
-
只读变量来指示正在播放
Animation
当前方向/速度。currentRate
不需要等于rate
。currentRate
设置为0.0
当动画暂停或停止。currentRate
也可能在反向循环期间指向不同的方向,当autoReverse
为true
- Default value:
- 0.0
-
currentRateProperty
public final ReadOnlyDoubleProperty currentRateProperty()
只读变量来指示正在播放Animation
当前方向/速度。currentRate
不需要等于rate
。currentRate
设置为0.0
当动画暂停或停止。currentRate
也可以在反向循环期间指向不同的方向,当autoReverse
为true
- Default value:
- 0.0
- 另请参见:
-
getCurrentRate()
-
setCycleDuration
protected final void setCycleDuration(Duration value)
设置属性cycleDuration的值。- Property description:
-
用于指示
Animation
的一个周期持续时间的只读变量:从时间0到动画结束所需的时间(默认为rate
为1.0)。 - Default value:
- 0毫秒
-
getCycleDuration
public final Duration getCycleDuration()
获取属性cycleDuration的值。- Property description:
-
用于指示
Animation
的一个周期持续时间的只读变量:从时间0到动画结束所需的时间(默认为rate
为1.0)。 - Default value:
- 0毫秒
-
cycleDurationProperty
public final ReadOnlyObjectProperty<Duration> cycleDurationProperty()
用于指示Animation
的一个周期持续时间的只读变量:从时间0到动画结束所需的时间(默认为rate
为1.0)。- Default value:
- 0毫秒
- 另请参见:
-
getCycleDuration()
,setCycleDuration(Duration)
-
getTotalDuration
public final Duration getTotalDuration()
获取属性totalDuration的值。- Property description:
-
只读变量,用于指示此
Animation
的总持续时间,包括重复。 AAnimation
与cycleCount
的Animation.INDEFINITE
将有一个totalDuration
的Duration.INDEFINITE
。这被设置为cycleDuration * cycleCount。
- Default value:
- 0毫秒
-
totalDurationProperty
public final ReadOnlyObjectProperty<Duration> totalDurationProperty()
只读变量,用于指示此Animation
的总持续时间,包括重复。 AAnimation
与cycleCount
的Animation.INDEFINITE
将有一个totalDuration
的Duration.INDEFINITE
。这被设置为cycleDuration * cycleCount。
- Default value:
- 0毫秒
- 另请参见:
-
getTotalDuration()
-
getCurrentTime
public final Duration getCurrentTime()
获取属性currentTime的值。- Property description:
-
定义
Animation
的播放位置。 - Default value:
- 0毫秒
-
currentTimeProperty
public final ReadOnlyObjectProperty<Duration> currentTimeProperty()
定义Animation
的播放位置。- Default value:
- 0毫秒
- 另请参见:
-
getCurrentTime()
-
setDelay
public final void setDelay(Duration value)
设置属性延迟的值。- Property description:
-
延迟动画的开始。
不能是负面的
设置为负数将导致
IllegalArgumentException
。 - Default value:
- 0毫秒
-
getDelay
public final Duration getDelay()
获取属性延迟的值。- Property description:
-
延迟动画的开始。
不能是负面的
设置为负数将导致
IllegalArgumentException
。 - Default value:
- 0毫秒
-
delayProperty
public final ObjectProperty<Duration> delayProperty()
- Default value:
- 0毫秒
- 另请参见:
-
getDelay()
,setDelay(Duration)
-
setCycleCount
public final void setCycleCount(int value)
设置属性cycleCount的值。- Property description:
-
定义此动画中的循环次数。
对于无限期重复的动画,
cycleCount
可能为INDEFINITE
,否则为> 0。不可能更改
cycleCount
的运行中的Animation
。 如果值cycleCount
改变正在运行的Animation
,动画必须停止并重新开始拿起新的价值。 - Default value:
- 1.0
-
getCycleCount
public final int getCycleCount()
获取属性cycleCount的值。- Property description:
-
定义此动画中的循环次数。
cycleCount
可能是INDEFINITE
无限期重复的动画,但必须为> 0。无法更改
cycleCount
的Animation
。 如果值cycleCount
改变正在运行的Animation
,动画必须停止并重新开始拿起新的价值。 - Default value:
- 1.0
-
cycleCountProperty
public final IntegerProperty cycleCountProperty()
定义此动画中的循环次数。 对于无限期重复的动画,cycleCount
可能为INDEFINITE
,否则为> 0。不可能更改
cycleCount
的Animation
。 如果值cycleCount
改变正在运行的Animation
,动画必须停止并重新开始拿起新的价值。- Default value:
- 1.0
- 另请参见:
-
getCycleCount()
,setCycleCount(int)
-
setAutoReverse
public final void setAutoReverse(boolean value)
设置属性autoReverse的值。- Property description:
-
定义
Animation
是否在交替循环中反转方向。 如果true
,该Animation
将继续推进在第一个周期,然后反转的第二个周期,依此类推。 否则,动画将循环,使得每个循环从一开始就向前推进。 不可能更改autoReverse
标志运行的Animation
。 如果值autoReverse
改变正在运行的Animation
,动画必须停止并重新开始拿起新的价值。 - Default value:
- 假
-
isAutoReverse
public final boolean isAutoReverse()
获取属性autoReverse的值。- Property description:
-
定义
Animation
是否在交替循环中反转方向。 如果true
,该Animation
将继续推进在第一个周期,然后反转的第二个周期,依此类推。 否则,动画将循环,使得每个循环从一开始就向前推进。 不可能更改autoReverse
标志运行的Animation
。 如果值autoReverse
改变正在运行的Animation
,动画必须停止并重新开始拿起新的价值。 - Default value:
- 假
-
autoReverseProperty
public final BooleanProperty autoReverseProperty()
定义Animation
是否在交替循环中反转方向。 如果true
,该Animation
将继续推进在第一个周期,然后反转的第二个周期,依此类推。 否则,动画将循环,使得每个循环从一开始就向前推进。 不能更改正在运行的autoReverse
标志的Animation
。 如果autoReverse
的值更改为Animation
,则动画必须停止并重新开始以获取新值。- Default value:
- 假
- 另请参见:
-
isAutoReverse()
,setAutoReverse(boolean)
-
setStatus
protected final void setStatus(Animation.Status value)
设置属性状态的值。- Property description:
-
的状态
Animation
。 在Animation
可以在三种状态之一:Animation.Status.STOPPED
,Animation.Status.PAUSED
或者Animation.Status.RUNNING
。
-
getStatus
public final Animation.Status getStatus()
获取属性状态的值。- Property description:
-
的状态
Animation
。 在Animation
可以在三种状态之一:Animation.Status.STOPPED
,Animation.Status.PAUSED
或者Animation.Status.RUNNING
。
-
statusProperty
public final ReadOnlyObjectProperty<Animation.Status> statusProperty()
状态为Animation
。 在Animation
可以在三种状态之一:Animation.Status.STOPPED
,Animation.Status.PAUSED
或者Animation.Status.RUNNING
。
-
getTargetFramerate
public final double getTargetFramerate()
目标帧率是Animation
运行的最大帧率,以帧/秒为单位。 例如,这可以用于保持特别复杂的Animations
免受过度消耗的系统资源的影响。 默认情况下,Animation
的帧速率没有明确限制,这意味着Animation
将以底层平台的最佳帧速率运行。- 结果
- 目标帧速率
-
setOnFinished
public final void setOnFinished(EventHandler<ActionEvent> value)
设置属性onFinished的值。- Property description:
-
在这个
Animation
的结论执行的行动。 - Default value:
- 空值
-
getOnFinished
public final EventHandler<ActionEvent> getOnFinished()
获取属性onFinished的值。- Property description:
-
在这个
Animation
的结论执行的行动。 - Default value:
- 空值
-
onFinishedProperty
public final ObjectProperty<EventHandler<ActionEvent>> onFinishedProperty()
在这个Animation
的结尾执行的行动。- Default value:
- 空值
- 另请参见:
-
getOnFinished()
,setOnFinished(EventHandler)
-
getCuePoints
public final ObservableMap<String,Duration> getCuePoints()
提示点可用于标记Animation
重要位置。 一旦提示点被定义,它可以用作jumpTo()
和playFrom()
的参数来快速移动到关联位置。每个
Animation
都有两个预定义的提示点"start"
和"end"
,分别设置在Animation
的结尾Animation
。 预定义的点对点不会出现在地图中,尝试覆盖它们没有任何效果。在定义一个提示点的另一种选择
Animation
是设置KeyFrame.name
一个财产KeyFrame
。- 结果
-
提示点
ObservableMap
-
jumpTo
public void jumpTo(Duration time)
- 参数
-
time
- 新职位 - 异常
-
NullPointerException
- 如果time
是null
-
IllegalArgumentException
- 如果time
是Duration.UNKNOWN
-
IllegalStateException
- 如果嵌入另一个动画,如SequentialTransition
或ParallelTransition
-
jumpTo
public void jumpTo(String cuePoint)
Animation
这个Animation
的预定义位置。 该方法查找提示点中的条目并跳转到关联位置(如果找到)。如果提示点在这个
Animation
,调用jumpTo
会导致跳转到最后。 如果提示点的负数为Duration
,则会跳转到开头。 如果提示点的值为Duration.UNKNOWN
,调用jumpTo
将对此提示点没有影响。有两个预定义的提示点
"start"
和"end"
,分别被定义为在这个Animation
的结尾Animation
。- 参数
-
cuePoint
- 提示点的名称 - 异常
-
NullPointerException
- 如果cuePoint
是null
-
IllegalStateException
- 如果嵌入另一个动画,如SequentialTransition
或ParallelTransition
- 另请参见:
-
getCuePoints()
-
playFrom
public void playFrom(String cuePoint)
从预定义的位置播放这个Animation
一种方便的方法。 该位置必须在提示点中预定义。 调用此方法相当于animation.jumpTo(cuePoint); animation.play();
playFromStart()
调用这个方法不会改变这个Animation
的播放方向。- 参数
-
cuePoint
- 提示点的名称 - 异常
-
NullPointerException
- 如果cuePoint
是null
-
IllegalStateException
- 如果嵌入另一个动画,如SequentialTransition
或ParallelTransition
- 另请参见:
-
getCuePoints()
-
playFrom
public void playFrom(Duration time)
从一个特定的位置播放这个Animation
一个方便的方法。 调用此方法相当于animation.jumpTo(time); animation.play();
playFromStart()
调用这个方法不会改变这个Animation
的播放方向。- 参数
-
time
- 从哪里玩的位置 - 异常
-
NullPointerException
- 如果time
是null
-
IllegalArgumentException
-如果time
为Duration.UNKNOWN
-
IllegalStateException
- 如果嵌入另一个动画,如SequentialTransition
或ParallelTransition
-
play
public void play()
起着Animation
从在所指示的方向当前位置rate
。 如果Animation
正在运行,则不起作用。当
rate
> 0(前进播放)时,如果一个Animation
已经定位在最后,第一个周期将不被播放,它被认为已经完成。 如果一个Animation
位于开头,这也适用于后退(rate
<0)周期。 但是,如果Animation
具有cycleCount
> 1,则cycleCount
周期将像往常一样播放。当
Animation
到达结束时,Animation
停止,播放头保持结束。从后端播放
Animation
:
animation.setRate(negative rate);
animation.jumpTo(overall duration of animation);
animation.play();注意:
-
play()
是异步调用,Animation
可能无法立即启动。
- 异常
-
IllegalStateException
- 如果嵌入另一个动画,如SequentialTransition
或ParallelTransition
-
-
playFromStart
public void playFromStart()
从正向起始位置播放Animation
。相当于
animation.stop();
animation.setRate = setRate(Math.abs(animation.getRate()));
animation.jumpTo(Duration.ZERO);
animation.play();注意:
-
playFromStart()
是异步调用,Animation
可能无法立即启动。
- 异常
-
IllegalStateException
- 如果嵌入另一个动画,如SequentialTransition
或ParallelTransition
-
-
stop
public void stop()
停止动画并将播放头重置到其初始位置。 如果动画当前没有运行,则此方法无效。注意:
-
stop()
是异步调用,Animation
可能不会立即停止。
- 异常
-
IllegalStateException
- 如果嵌入另一个动画,如SequentialTransition
或ParallelTransition
-
-
pause
public void pause()
暂停动画。 如果动画当前没有运行,则此方法无效。注意:
-
pause()
是一个异步调用,Animation
可能不会立即暂停。
- 异常
-
IllegalStateException
- 如果嵌入另一个动画,如SequentialTransition
或ParallelTransition
-
-
-