Module  javafx.graphics
软件包  javafx.animation

Class Animation

  • 已知直接子类:
    TimelineTransition


    public abstract class Animation
    extends Object
    Animation提供了JavaFX运行时使用的所有动画的核心功能。

    动画可以通过设置cycleCount循环运行。 要使循环播放动画时,请设置autoReverse -flag。

    致电play()playFromStart()播放Animation 所述Animation进展中所指定的方向和速度rate ,并且当它的持续时间经过停止。 一个Animation持续时间( 270653606162376INDEFINITE ),直到stop()方法被显式调用,这将停止运行Animation并将其播放头重置到初始位置。

    一个Animation可以通过致电pause()暂停,而下一个play()呼叫将从其暂停的Animation恢复Animation

    一个Animation的游戏头可以随机定位,无论是否运行。 如果Animation正在运行,则播放头立即跳转到指定位置,并继续从新位置播放。 如果Animation没有运行,下一个play()将从指定的位置启动Animation

    反转rate的值切换播放方向。

    从以下版本开始:
    JavaFX 2.0
    另请参见:
    TimelineTransition
    • 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也可能在反向循环期间指向不同的方向,当autoReversetrue

        Default value:
        0.0
        另请参见:
        getCurrentRate()
      • totalDuration

        public final ReadOnlyObjectProperty<Duration> totalDurationProperty
        只读变量来表示这个Animation的总持续时间,包括重复。 A AnimationcycleCountAnimation.INDEFINITE将有一个totalDurationDuration.INDEFINITE

        这被设置为cycleDuration * cycleCount。

        Default value:
        0毫秒
        另请参见:
        getTotalDuration()
      • 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)
    • 字段详细信息

      • 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也可能在反向循环期间指向不同的方向,当autoReversetrue

        Default value:
        0.0
      • currentRateProperty

        public final ReadOnlyDoubleProperty currentRateProperty​()
        只读变量来指示正在播放Animation当前方向/速度。

        currentRate不需要等于rate currentRate设置为0.0当动画暂停或停止。 currentRate也可以在反向循环期间指向不同的方向,当autoReversetrue

        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毫秒
      • getTotalDuration

        public final Duration getTotalDuration​()
        获取属性totalDuration的值。
        Property description:
        只读变量,用于指示此Animation的总持续时间,包括重复。 A AnimationcycleCountAnimation.INDEFINITE将有一个totalDurationDuration.INDEFINITE

        这被设置为cycleDuration * cycleCount。

        Default value:
        0毫秒
      • totalDurationProperty

        public final ReadOnlyObjectProperty<Duration> totalDurationProperty​()
        只读变量,用于指示此Animation的总持续时间,包括重复。 A AnimationcycleCountAnimation.INDEFINITE将有一个totalDurationDuration.INDEFINITE

        这被设置为cycleDuration * cycleCount。

        Default value:
        0毫秒
        另请参见:
        getTotalDuration()
      • getCurrentTime

        public final Duration getCurrentTime​()
        获取属性currentTime的值。
        Property description:
        定义 Animation的播放位置。
        Default value:
        0毫秒
      • setDelay

        public final void setDelay​(Duration value)
        设置属性延迟的值。
        Property description:
        延迟动画的开始。 不能是负面的 设置为负数将导致IllegalArgumentException
        Default value:
        0毫秒
      • getDelay

        public final Duration getDelay​()
        获取属性延迟的值。
        Property description:
        延迟动画的开始。 不能是负面的 设置为负数将导致IllegalArgumentException
        Default value:
        0毫秒
      • 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。

        无法更改cycleCountAnimation 如果值cycleCount改变正在运行的Animation ,动画必须停止并重新开始拿起新的价值。

        Default value:
        1.0
      • cycleCountProperty

        public final IntegerProperty cycleCountProperty​()
        定义此动画中的循环次数。 对于无限期重复的动画, cycleCount可能为INDEFINITE ,否则为> 0。

        不可能更改cycleCountAnimation 如果值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)
      • 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:
        空值
      • getCuePoints

        public final ObservableMap<String,Duration> getCuePoints​()
        提示点可用于标记Animation重要位置。 一旦提示点被定义,它可以用作jumpTo()playFrom()的参数来快速移动到关联位置。

        每个Animation都有两个预定义的提示点"start""end" ,分别设置在Animation的结尾Animation 预定义的点对点不会出现在地图中,尝试覆盖它们没有任何效果。

        在定义一个提示点的另一种选择Animation是设置KeyFrame.name一个财产KeyFrame

        结果
        提示点ObservableMap
      • jumpTo

        public void jumpTo​(String cuePoint)
        Animation这个Animation的预定义位置。 该方法查找提示点中的条目并跳转到关联位置(如果找到)。

        如果提示点在这个Animation ,调用jumpTo会导致跳转到最后。 如果提示点的负数为Duration ,则会跳转到开头。 如果提示点的值为Duration.UNKNOWN调用jumpTo将对此提示点没有影响。

        有两个预定义的提示点"start""end" ,分别被定义为在这个Animation的结尾Animation

        参数
        cuePoint - 提示点的名称
        异常
        NullPointerException - 如果 cuePointnull
        IllegalStateException - 如果嵌入另一个动画,如SequentialTransitionParallelTransition
        另请参见:
        getCuePoints()
      • 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 - 如果嵌入另一个动画,如SequentialTransitionParallelTransition
      • playFromStart

        public void playFromStart​()
        从正向起始位置播放Animation

        相当于

        animation.stop();
        animation.setRate = setRate(Math.abs(animation.getRate()));
        animation.jumpTo(Duration.ZERO);
        animation.play();

        注意:

        • playFromStart()是异步调用, Animation可能无法立即启动。

        异常
        IllegalStateException - 如果嵌入另一个动画,如SequentialTransitionParallelTransition
      • stop

        public void stop​()
        停止动画并将播放头重置到其初始位置。 如果动画当前没有运行,则此方法无效。

        注意:

        • stop()是异步调用, Animation可能不会立即停止。
        异常
        IllegalStateException - 如果嵌入另一个动画,如SequentialTransitionParallelTransition