Class KeyFrame

java.lang.Object
javafx.animation.KeyFrame

public final class KeyFrame
extends Object
Defines target values at a specified point in time for a set of variables that are interpolated along a Timeline.

The developer controls the interpolation of a set of variables for the interval between successive key frames by providing a target value and an Interpolator associated with each variable. The variables are interpolated such that they will reach their target value at the specified time. An onFinished function is invoked on each KeyFrame if one is provided. A KeyFrame can optionally have a name, which will result in a cuepoint that is automatically added to the Timeline.

Since:
JavaFX 2.0
See Also:
Timeline, KeyValue, Interpolator
  • Constructor Details

  • Method Details

    • getTime

      public Duration getTime()
      Returns the time offset of this KeyFrame. The returned Duration defines the time offset within a single cycle of a Timeline at which the KeyValues will be set and at which the onFinished function variable will be called.

      The time of a KeyFrame has to be greater than or equal to Duration.ZERO and it cannot be Duration.UNKNOWN. Note: While the unit of time is a millisecond, the granularity depends on the underlying operating system and will in general be larger. For example animations on desktop systems usually run with a maximum of 60fps which gives a granularity of ~17 ms.

      Returns:
      the time offset
    • getValues

      public Set<KeyValue> getValues()
      Returns an immutable Set of KeyValue instances. A KeyValue defines a target and the desired value that should be interpolated at the specified time of this KeyFrame.
      Returns:
      an immutable Set of KeyValue instances
    • getOnFinished

      public EventHandler<ActionEvent> getOnFinished()
      Returns the onFinished event handler of this KeyFrame. The onFinished event handler is a function that is called when the elapsed time on a cycle passes the specified time of this KeyFrame. The onFinished function variable will be called if the elapsed time passes the indicated value, even if it never equaled the time value exactly.
      Returns:
      the onFinished event handler
    • getName

      public String getName()
      Returns the name of this KeyFrame. If a named KeyFrame is added to a Timeline, a cuepoint with the name and the time of the KeyFrame will be added automatically. If the KeyFrame is removed, the cuepoint will also be removed.
      Returns:
      the name
    • toString

      public String toString()
      Returns a string representation of this KeyFrame object.
      Overrides:
      toString in class Object
      Returns:
      the string representation
    • hashCode

      public int hashCode()
      Returns a hash code for this KeyFrame object.
      Overrides:
      hashCode in class Object
      Returns:
      the hash code
    • equals

      public boolean equals​(Object obj)
      Indicates whether some other object is "equal to" this one. Two KeyFrames are considered equal, if their time, onFinished, and values are equal.
      Overrides:
      equals in class Object
      Returns:
      true if this is the same as obj, otherwise false