Module javafx.graphics
Package javafx.animation

# Class KeyValue

java.lang.Object
javafx.animation.KeyValue

public final class KeyValue extends Object
Defines a key value to be interpolated for a particular interval along the animation. A `KeyFrame`, which defines a specific point on a timeline, can hold multiple `KeyValues`. `KeyValue` is an immutable class.

A `KeyValue` is defined by a target, which is an implementation of `WritableValue`, an end value and an `Interpolator`.

Most interpolators define the interpolation between two `KeyFrames`. (The only exception are tangent-interpolators.) The `KeyValue` of the second `KeyFrame` (in forward direction) specifies the interpolator to be used in the interval.

Tangent-interpolators define the interpolation to the left and to the right of a `KeyFrame` (see `Interpolator.TANGENT`).

By default, `Interpolator.LINEAR` is used in the interval.

Since:
  JavaFX 2.0
See Also:
  - `Timeline`
  - `KeyFrame`
  - `Interpolator`

## Constructor Summary

Constructors
Constructor
Description
`KeyValue(WritableValue<T> target, T endValue)`
Creates a `KeyValue` that uses `Interpolator.LINEAR`.
`KeyValue(WritableValue<T> target, T endValue, Interpolator interpolator)`
Creates a `KeyValue`.

## Method Summary

Modifier and Type
Method
Description
`boolean`
`equals(Object obj)`
Indicates whether some other object is "equal to" this one.
`Object`
`getEndValue()`
Returns the end value of this `KeyValue`
`Interpolator`
`getInterpolator()`
`Interpolator` to be used for calculating the key value along the particular interval.
`WritableValue<?>`
`getTarget()`
Returns the target of this `KeyValue`
`int`
`hashCode()`
Returns a hash code for this `KeyValue` object.
`String`
`toString()`
Returns a string representation of this `KeyValue` object.

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

## Constructor Details

### KeyValue

public KeyValue(WritableValue<T> target, T endValue, Interpolator interpolator)
Creates a `KeyValue`.

Type Parameters:
  `T` - the type of the `KeyValue`
Parameters:
  `target` - the target
  `endValue` - the end value
  `interpolator` - the `Interpolator`
Throws:
  `NullPointerException` - if `target` or `interpolator` are `null`

### KeyValue

public KeyValue(WritableValue<T> target, T endValue)
Creates a `KeyValue` that uses `Interpolator.LINEAR`.

Type Parameters:
  `T` - the type of the `KeyValue`
Parameters:
  `target` - the target
  `endValue` - the end value
Throws:
  `NullPointerException` - if `target` or `interpolator` are `null`

## Method Details

### getTarget

public WritableValue<?> getTarget()
Returns the target of this `KeyValue`

Returns:
  the target

### getEndValue

public Object getEndValue()
Returns the end value of this `KeyValue`

Returns:
  the end value

### getInterpolator

public Interpolator getInterpolator()
`Interpolator` to be used for calculating the key value along the particular interval. By default, `Interpolator.LINEAR` is used.

Returns:
  the interpolator to be used for calculating the key value along the particular interval

### toString

public String toString()
Returns a string representation of this `KeyValue` object.

Overrides:
  `toString` in class `Object`
Returns:
  the string representation

### hashCode

public int hashCode()
Returns a hash code for this `KeyValue` 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 `KeyValues` are considered equal, if their `target`, `endValue`, and `interpolator` are equal.

Overrides:
  `equals` in class `Object`