Module javafx.base
Package javafx.beans.property

# Class FloatProperty

java.lang.Object
javafx.beans.binding.NumberExpressionBase
javafx.beans.binding.FloatExpression
javafx.beans.property.ReadOnlyFloatProperty
javafx.beans.property.FloatProperty

All Implemented Interfaces:
  `NumberExpression`, `Observable`, `Property<Number>`, `ReadOnlyProperty<Number>`, `ObservableFloatValue`, `ObservableNumberValue`, `ObservableValue<Number>`, `WritableFloatValue`, `WritableNumberValue`, `WritableValue<Number>`

Direct Known Subclasses:
  `FloatPropertyBase`, `JavaBeanFloatProperty`

    public abstract class FloatProperty
    extends ReadOnlyFloatProperty
    implements Property<Number>, WritableFloatValue

This class defines a `Property` wrapping a `float` value.

The value of a `FloatProperty` can be get and set with `ObservableFloatValue.get()`, `ObservableValue.getValue()`, `WritableFloatValue.set(float)`, and `WritableFloatValue.setValue(Number)`.

A property can be bound and unbound unidirectional with `Property.bind(ObservableValue)` and `Property.unbind()`. Bidirectional bindings can be created and removed with `Property.bindBidirectional(Property)` and `Property.unbindBidirectional(Property)`.

The context of a `FloatProperty` can be read with `ReadOnlyProperty.getBean()` and `ReadOnlyProperty.getName()`.

Note: setting or binding this property to a null value will set the property to "0.0". See `WritableFloatValue.setValue(java.lang.Number)`.

Since:
  JavaFX 2.0
See Also:
  `ObservableFloatValue`, `WritableFloatValue`, `ReadOnlyFloatProperty`, `Property`

- ## Constructor Summary

  Constructors
  Constructor | Description
  --- | ---
  `FloatProperty()` | Creates a default `FloatProperty`.

- ## Method Summary

  Modifier and Type | Method | Description
  --- | --- | ---
  `ObjectProperty<Float>` | `asObject()` | Creates an `ObjectProperty` that bidirectionally bound to this `FloatProperty`.
  `static FloatProperty` | `floatProperty​(Property<Float> property)` | Returns a `FloatProperty` that wraps a `Property` and is bidirectionally bound to it.
  `String` | `toString()` | Returns a string representation of this `FloatProperty` object.

  ### Methods declared in class javafx.beans.property.ReadOnlyFloatProperty

  `readOnlyFloatProperty`

  ### Methods declared in class javafx.beans.binding.FloatExpression

  `add, add, add, add, divide, divide, divide, divide, floatExpression, floatExpression, multiply, multiply, multiply, multiply, negate, subtract, subtract, subtract, subtract`

  ### Methods declared in class javafx.beans.binding.NumberExpressionBase

  `numberExpression`

  ### Methods declared in class java.lang.Object

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

  ### Methods declared in interface javafx.beans.binding.NumberExpression

  `add, asString, asString, asString, divide, greaterThan, greaterThan, greaterThan, greaterThan, greaterThan, greaterThanOrEqualTo, greaterThanOrEqualTo, greaterThanOrEqualTo, greaterThanOrEqualTo, greaterThanOrEqualTo, isEqualTo, isEqualTo, isEqualTo, isEqualTo, isEqualTo, isEqualTo, isEqualTo, isEqualTo, isNotEqualTo, isNotEqualTo, isNotEqualTo, isNotEqualTo, isNotEqualTo, isNotEqualTo, isNotEqualTo, isNotEqualTo, lessThan, lessThan, lessThan, lessThan, lessThan, lessThanOrEqualTo, lessThanOrEqualTo, lessThanOrEqualTo, lessThanOrEqualTo, lessThanOrEqualTo, multiply, subtract`

  ### Methods declared in interface javafx.beans.Observable

  `addListener, removeListener`

  ### Methods declared in interface javafx.beans.value.ObservableFloatValue

  `get`

  ### Methods declared in interface javafx.beans.value.ObservableNumberValue

  `doubleValue, floatValue, intValue, longValue`

  ### Methods declared in interface javafx.beans.value.ObservableValue

  `addListener, getValue, removeListener`

  ### Methods declared in interface javafx.beans.property.Property

  `bind, bindBidirectional, isBound, unbind, unbindBidirectional`

  ### Methods declared in interface javafx.beans.property.ReadOnlyProperty

  `getBean, getName`

  ### Methods declared in interface javafx.beans.value.WritableFloatValue

  `get, set, setValue`

  ### Methods declared in interface javafx.beans.value.WritableValue

  `getValue`

- ## Constructor Details

  - ### FloatProperty

    public FloatProperty()
    Creates a default `FloatProperty`.

- ## Method Details

  - ### toString

    public String toString()
    Returns a string representation of this `FloatProperty` object.
    Overrides:
      `toString` in class `ReadOnlyFloatProperty`
    Returns:
      a string representation of this `FloatProperty` object.

  - ### floatProperty

    public static FloatProperty floatProperty​(Property<Float> property)
    Returns a `FloatProperty` that wraps a `Property` and is bidirectionally bound to it. Changing this property will result in a change of the original property.

    This is very useful when bidirectionally binding an ObjectProperty<Float> and a FloatProperty.

    >        FloatProperty floatProperty = new SimpleFloatProperty(1.0f);
    >        ObjectProperty<Float> objectProperty = new SimpleObjectProperty<>(2.0f);

    >        // Need to keep the reference as bidirectional binding uses weak references
    >        FloatProperty objectAsFloat = FloatProperty.floatProperty(objectProperty);

    >        floatProperty.bindBidirectional(objectAsFloat);

    Another approach is to convert the FloatProperty to ObjectProperty using `asObject()` method.

    Note: null values in the source property will be interpreted as 0f

    Parameters:
      `property` - The source `Property`
    Returns:
      A `FloatProperty` that wraps the `Property`
    Throws:
      `NullPointerException` - if `property` is `null`
    Since:
      JavaFX 8.0
    See Also:
      `asObject()`

  - ### asObject

    public ObjectProperty<Float> asObject()
    Creates an `ObjectProperty` that bidirectionally bound to this `FloatProperty`. If the value of this `FloatProperty` changes, the value of the `ObjectProperty` will be updated automatically and vice-versa.

    Can be used for binding an ObjectProperty to FloatProperty.

    >        FloatProperty floatProperty = new SimpleFloatProperty(1.0f);
    >        ObjectProperty<Float> objectProperty = new SimpleObjectProperty<>(2.0f);

    >        objectProperty.bind(floatProperty.asObject());

    Overrides:
      `asObject` in class `ReadOnlyFloatProperty`
    Returns:
      the new `ObjectProperty`
    Since:
      JavaFX 8.0