モジュール javafx.graphics
パッケージ javafx.animation

クラスAnimation

  • 直系の既知のサブクラス:
    Timeline, Transition


    public abstract class Animation
    extends Object
    クラスAnimationは、JavaFXランタイムで使用されるすべてのアニメーションのコア機能を提供します。

    アニメーションは、cycleCountを設定することによってループで実行できます。 ループしている間、アニメーションが往復実行されるようにするには、autoReverseフラグを設定します。

    Animationを再生するには、play()またはplayFromStart()を呼び出します。 Animationは、rateで指定する方向および速度で進行し、その期間が経過すると停止します。 期間を無限(cycleCount = INDEFINITE)にしたAnimationは、stop()メソッドを明示的に呼び出すまで繰り返し実行されます。このメソッドを呼び出すと、実行中のAnimationが停止され、再生ヘッドが初期位置にリセットされます。

    Animationを一時停止するには、pause()を呼び出します。その後、play()を呼び出すと、一時停止した場所からAnimationが再開されます。

    Animationが実行中かどうかに関係なく、再生ヘッドの位置を任意に指定できます。 Animationが実行中の場合は、再生ヘッドは指定の位置に即座にジャンプし、新しい位置から再生が続行されます。 Animationが実行中でない場合は、次回play()を呼び出したときに、指定の位置からAnimationが開始されます。

    rateの値を反転させると、再生方向が切り替わります。

    導入されたバージョン:
    JavaFX 2.0
    関連項目:
    Timeline, Transition
    • プロパティの詳細

      • rate

        public final DoubleProperty rateProperty
        Animationを再生する方向/速度を定義します。

        rateの絶対値はAnimationの再生速度を示し、rateの記号は方向を示します。 rateの値が正の場合は順方向に再生し、値が負の場合は逆方向に再生し、0.0の場合はAnimationの実行を停止します。

        たとえば、速度1.0は標準再生、2.0は2倍速再生、-1.0は逆方向再生になります。

        実行中のAnimationの速度を反転すると、Animationの方向が逆になり、すでに経過したAnimation部分が逆方向に再生されます。

        デフォルト値:
        1.0
        関連項目:
        getRate(), setRate(double)
      • currentRate

        public final ReadOnlyDoubleProperty currentRateProperty
        Animationを再生している現在の方向/速度を示す読取り専用変数。

        currentRaterateと必ずしも等しくなりません。アニメーションが一時停止または停止されている場合、currentRate0.0に設定されます。また、autoReversetrueの場合、currentRateは反転サイクル中は逆方向を指します。

        デフォルト値:
        0.0
        関連項目:
        getCurrentRate()
      • totalDuration

        public final ReadOnlyObjectProperty<Duration> totalDurationProperty
        繰返しを含むこのAnimationの合計時間を示す読取り専用変数。 AnimationcycleCountAnimation.INDEFINITEにした場合、totalDurationDuration.INDEFINITEになります。

        これはcycleDuration * cycleCountに設定されます。

        デフォルト値:
        0ms
        関連項目:
        getTotalDuration()
      • cycleCount

        public final IntegerProperty cycleCountProperty
        このアニメーションのサイクル数を定義します。 アニメーションを無限に繰り返す場合はcycleCountINDEFINITEに設定できますが、それ以外の場合は0より大きくする必要があります。

        実行中のAnimationcycleCountは変更できません。 実行中のAnimationcycleCountの値が変更された場合、新しい値を反映するには、アニメーションを停止し、再度開始する必要があります。

        デフォルト値:
        1.0
        関連項目:
        getCycleCount(), setCycleCount(int)
      • autoReverse

        public final BooleanProperty autoReverseProperty
        このAnimationで方向を交互に繰り返し反転させるかどうかを定義します。 trueの場合、Animationは1回目のサイクルでは順方向に進行し、2回目のサイクルでは逆方向に進行します(それ以降も同様です)。 それ以外の場合、ループの各サイクルで、アニメーションが先頭から順方向に進行します。 実行中のAnimationautoReverseフラグは変更できません。 実行中のAnimationautoReverseの値が変更された場合、新しい値を反映するには、アニメーションを停止し、再度開始する必要があります。
        デフォルト値:
        false
        関連項目:
        isAutoReverse(), setAutoReverse(boolean)
    • フィールドの詳細

      • INDEFINITE

        public static final int INDEFINITE
        stop()メソッドを呼び出すまで無限に繰り返すアニメーションを指定するために使用します。
        関連項目:
        定数フィールド値
    • コンストラクタの詳細

      • Animation

        protected Animation​(double targetFramerate)
        Animationのコンストラクタ。 このコンストラクタではターゲット・フレームレートを定義できます。
        パラメータ:
        targetFramerate - このAnimationのカスタム・ターゲット・フレームレート
        関連項目:
        getTargetFramerate()
      • Animation

        protected Animation​()
        Animationのコンストラクタ。
    • メソッドの詳細

      • setRate

        public final void setRate​(double value)
        プロパティrateの値を設定します。
        プロパティの説明:
        Animationを再生する方向/速度を定義します。

        rateの絶対値はAnimationの再生速度を示し、rateの記号は方向を示します。 rateの値が正の場合は順方向に再生し、値が負の場合は逆方向に再生し、0.0の場合はAnimationの実行を停止します。

        たとえば、速度1.0は標準再生、2.0は2倍速再生、-1.0は逆方向再生になります。

        実行中のAnimationの速度を反転すると、Animationの方向が逆になり、すでに経過したAnimation部分が逆方向に再生されます。

        デフォルト値:
        1.0
      • getRate

        public final double getRate​()
        プロパティrateの値を取得します。
        プロパティの説明:
        Animationを再生する方向/速度を定義します。

        rateの絶対値はAnimationの再生速度を示し、rateの記号は方向を示します。 rateの値が正の場合は順方向に再生し、値が負の場合は逆方向に再生し、0.0の場合はAnimationの実行を停止します。

        たとえば、速度1.0は標準再生、2.0は2倍速再生、-1.0は逆方向再生になります。

        実行中のAnimationの速度を反転すると、Animationの方向が逆になり、すでに経過したAnimation部分が逆方向に再生されます。

        デフォルト値:
        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部分が逆方向に再生されます。

        デフォルト値:
        1.0
        関連項目:
        getRate(), setRate(double)
      • getCurrentRate

        public final double getCurrentRate​()
        プロパティcurrentRateの値を取得します。
        プロパティの説明:
        Animationを再生している現在の方向/速度を示す読取り専用変数。

        currentRaterateと必ずしも等しくなりません。アニメーションが一時停止または停止されている場合、currentRate0.0に設定されます。また、autoReversetrueの場合、currentRateは反転サイクル中は逆方向を指します。

        デフォルト値:
        0.0
      • currentRateProperty

        public final ReadOnlyDoubleProperty currentRateProperty​()
        Animationを再生している現在の方向/速度を示す読取り専用変数。

        currentRaterateと必ずしも等しくなりません。アニメーションが一時停止または停止されている場合、currentRate0.0に設定されます。また、autoReversetrueの場合、currentRateは反転サイクル中は逆方向を指します。

        デフォルト値:
        0.0
        関連項目:
        getCurrentRate()
      • setCycleDuration

        protected final void setCycleDuration​(Duration value)
        プロパティcycleDurationの値を設定します。
        プロパティの説明:
        このAnimationの1つのサイクルの期間を示す読取り専用変数: 時間0からAnimationの最後までの再生時間(デフォルトのrateは1.0)。
        デフォルト値:
        0ms
      • getCycleDuration

        public final Duration getCycleDuration​()
        プロパティcycleDurationの値を取得します。
        プロパティの説明:
        このAnimationの1つのサイクルの期間を示す読取り専用変数: 時間0からAnimationの最後までの再生時間(デフォルトのrateは1.0)。
        デフォルト値:
        0ms
      • getTotalDuration

        public final Duration getTotalDuration​()
        プロパティtotalDurationの値を取得します。
        プロパティの説明:
        繰返しを含むこのAnimationの合計時間を示す読取り専用変数。 AnimationcycleCountAnimation.INDEFINITEにした場合、totalDurationDuration.INDEFINITEになります。

        これはcycleDuration * cycleCountに設定されます。

        デフォルト値:
        0ms
      • totalDurationProperty

        public final ReadOnlyObjectProperty<Duration> totalDurationProperty​()
        繰返しを含むこのAnimationの合計時間を示す読取り専用変数。 AnimationcycleCountAnimation.INDEFINITEにした場合、totalDurationDuration.INDEFINITEになります。

        これはcycleDuration * cycleCountに設定されます。

        デフォルト値:
        0ms
        関連項目:
        getTotalDuration()
      • getCurrentTime

        public final Duration getCurrentTime​()
        プロパティcurrentTimeの値を取得します。
        プロパティの説明:
        Animationの再生ヘッド位置を定義します。
        デフォルト値:
        0ms
      • setDelay

        public final void setDelay​(Duration value)
        プロパティdelayの値を設定します。
        プロパティの説明:
        アニメーションの開始を遅延します。 負にはできません。 負の数値に設定すると、IllegalArgumentExceptionが発生します。
        デフォルト値:
        0ms
      • getDelay

        public final Duration getDelay​()
        プロパティdelayの値を取得します。
        プロパティの説明:
        アニメーションの開始を遅延します。 負にはできません。 負の数値に設定すると、IllegalArgumentExceptionが発生します。
        デフォルト値:
        0ms
      • setCycleCount

        public final void setCycleCount​(int value)
        プロパティcycleCountの値を設定します。
        プロパティの説明:
        このアニメーションのサイクル数を定義します。 アニメーションを無限に繰り返す場合はcycleCountINDEFINITEに設定できますが、それ以外の場合は0より大きくする必要があります。

        実行中のAnimationcycleCountは変更できません。 実行中のAnimationcycleCountの値が変更された場合、新しい値を反映するには、アニメーションを停止し、再度開始する必要があります。

        デフォルト値:
        1.0
      • getCycleCount

        public final int getCycleCount​()
        プロパティcycleCountの値を取得します。
        プロパティの説明:
        このアニメーションのサイクル数を定義します。 アニメーションを無限に繰り返す場合はcycleCountINDEFINITEに設定できますが、それ以外の場合は0より大きくする必要があります。

        実行中のAnimationcycleCountは変更できません。 実行中のAnimationcycleCountの値が変更された場合、新しい値を反映するには、アニメーションを停止し、再度開始する必要があります。

        デフォルト値:
        1.0
      • cycleCountProperty

        public final IntegerProperty cycleCountProperty​()
        このアニメーションのサイクル数を定義します。 アニメーションを無限に繰り返す場合はcycleCountINDEFINITEに設定できますが、それ以外の場合は0より大きくする必要があります。

        実行中のAnimationcycleCountは変更できません。 実行中のAnimationcycleCountの値が変更された場合、新しい値を反映するには、アニメーションを停止し、再度開始する必要があります。

        デフォルト値:
        1.0
        関連項目:
        getCycleCount(), setCycleCount(int)
      • setAutoReverse

        public final void setAutoReverse​(boolean value)
        プロパティautoReverseの値を設定します。
        プロパティの説明:
        このAnimationで方向を交互に繰り返し反転させるかどうかを定義します。 trueの場合、Animationは1回目のサイクルでは順方向に進行し、2回目のサイクルでは逆方向に進行します(それ以降も同様です)。 それ以外の場合、ループの各サイクルで、アニメーションが先頭から順方向に進行します。 実行中のAnimationautoReverseフラグは変更できません。 実行中のAnimationautoReverseの値が変更された場合、新しい値を反映するには、アニメーションを停止し、再度開始する必要があります。
        デフォルト値:
        false
      • isAutoReverse

        public final boolean isAutoReverse​()
        プロパティautoReverseの値を取得します。
        プロパティの説明:
        このAnimationで方向を交互に繰り返し反転させるかどうかを定義します。 trueの場合、Animationは1回目のサイクルでは順方向に進行し、2回目のサイクルでは逆方向に進行します(それ以降も同様です)。 それ以外の場合、ループの各サイクルで、アニメーションが先頭から順方向に進行します。 実行中のAnimationautoReverseフラグは変更できません。 実行中のAnimationautoReverseの値が変更された場合、新しい値を反映するには、アニメーションを停止し、再度開始する必要があります。
        デフォルト値:
        false
      • autoReverseProperty

        public final BooleanProperty autoReverseProperty​()
        このAnimationで方向を交互に繰り返し反転させるかどうかを定義します。 trueの場合、Animationは1回目のサイクルでは順方向に進行し、2回目のサイクルでは逆方向に進行します(それ以降も同様です)。 それ以外の場合、ループの各サイクルで、アニメーションが先頭から順方向に進行します。 実行中のAnimationautoReverseフラグは変更できません。 実行中のAnimationautoReverseの値が変更された場合、新しい値を反映するには、アニメーションを停止し、再度開始する必要があります。
        デフォルト値:
        false
        関連項目:
        isAutoReverse(), setAutoReverse(boolean)
      • getTargetFramerate

        public final double getTargetFramerate​()
        ターゲット・フレームレートは、このAnimationが実行される最大フレームレート(フレーム/秒)です。 特に複雑なAnimationsによってシステム・リソースが過剰消費されないようにする場合などに使用します。 デフォルトでは、Animationのフレームレートは明示的には制限されていません。つまり、Animationは、基礎となるプラットフォームに最も適したフレームレートで実行されます。
        戻り値:
        ターゲット・フレームレート
      • setOnFinished

        public final void setOnFinished​(EventHandler<ActionEvent> value)
        プロパティonFinishedの値を設定します。
        プロパティの説明:
        このAnimationの最後に実行されるアクション。
        デフォルト値:
        null
      • getOnFinished

        public final EventHandler<ActionEvent> getOnFinished​()
        プロパティonFinishedの値を取得します。
        プロパティの説明:
        このAnimationの最後に実行されるアクション。
        デフォルト値:
        null
      • getCuePoints

        public final ObservableMap<String,Duration> getCuePoints​()
        キュー・ポイントを使用して、Animationの重要な位置をマークできます。 定義済のキュー・ポイントをjumpTo()およびplayFrom()の引数として使用すると、関連付けられた位置まですばやく移動できます。

        すべてのAnimation"start""end"の2つのキュー・ポイントが事前に定義されています(それぞれAnimationの先頭と末尾を表します)。 事前定義済のキュー・ポイントはマップには表示されず、オーバーライドを試みても効果はありません。

        Animationのキュー・ポイントを定義するもう1つのオプションは、KeyFrameKeyFrame.nameプロパティを設定することです。

        戻り値:
        キュー・ポイントのObservableMap
      • jumpTo

        public void jumpTo​(String cuePoint)
        このAnimation内の事前定義済の位置にジャンプします。 キュー・ポイントのエントリを探し、見つかった場合は関連付けられた位置までジャンプします。

        キュー・ポイントがこのAnimationの末尾よりも後である場合は、jumpToを呼び出すと、末尾までジャンプします。 キュー・ポイントのDurationが負である場合は、先頭までジャンプします。 キュー・ポイントの値がDuration.UNKNOWNである場合、jumpToを呼び出しても効果はありません。

        このAnimationの先頭と末尾を表す2つのキュー・ポイント"start"および"end"が事前に定義されています。

        パラメータ:
        cuePoint - キュー・ポイントの名前
        例外:
        NullPointerException - cuePointnullの場合
        IllegalStateException - 別のアニメーションに埋め込まれている場合(SequentialTransitionParallelTransitionなど)
        関連項目:
        getCuePoints()
      • playFrom

        public void playFrom​(String cuePoint)
        このAnimationを事前定義済の位置から再生するコンビニエンス・メソッド。 位置はキュー・ポイントに事前に定義されている必要があります。 このメソッドを呼び出すことは、次と同等です。
         
         animation.jumpTo(cuePoint);
         animation.play();
         
         
        playFromStart()とは異なり、このメソッドを呼び出してもこのAnimationの再生方向は変わりません。
        パラメータ:
        cuePoint - キュー・ポイントの名前
        例外:
        NullPointerException - cuePointnullの場合
        IllegalStateException - 別のアニメーションに埋め込まれている場合(SequentialTransitionParallelTransitionなど)
        関連項目:
        getCuePoints()
      • play

        public void play​()
        現在の位置からrateで指定する方向にAnimationを再生します。 Animationが実行中の場合、効果はありません。

        rate > 0 (順方向再生)の場合にAnimationがすでに末尾位置にあると、1回目のサイクルは再生されず、すでに終了したものとみなされます。 これは、Animationが最初に配置されている場合、後方(rate < 0)サイクルにも当てはまります。 ただし、cycleCount > 1のAnimationの場合、後続のサイクルは通常どおり再生されます。

        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など)
      • pause

        public void pause​()
        アニメーションを一時停止します。 アニメーションが現在実行中でない場合、このメソッドを使用しても効果はありません。

        注意:

        • pause()の呼出しは非同期であり、Animationは即座に一時停止されるとはかぎりません。
        例外:
        IllegalStateException - 別のアニメーションに埋め込まれている場合(SequentialTransitionParallelTransitionなど)