Class 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
    • Method Detail

      • 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
      • 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
        Parameters:
        obj - the reference object with which to compare.
        Returns:
        true if this is the same as obj, otherwise false
        See Also:
        Object.hashCode(), HashMap