Module javafx.base

Class 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 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