Module javafx.base

Class LongProperty

All Implemented Interfaces:
NumberExpression, Observable, Property<Number>, ReadOnlyProperty<Number>, ObservableLongValue, ObservableNumberValue, ObservableValue<Number>, WritableLongValue, WritableNumberValue, WritableValue<Number>
Direct Known Subclasses:
JavaBeanLongProperty, LongPropertyBase

public abstract class LongProperty
extends ReadOnlyLongProperty
implements Property<Number>, WritableLongValue
This class defines a Property wrapping a long value.

The value of a LongProperty can be get and set with ObservableLongValue.get(), ObservableValue.getValue(), WritableLongValue.set(long), and WritableLongValue.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 LongProperty 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 WritableLongValue.setValue(java.lang.Number).

Since:
JavaFX 2.0
See Also:
ObservableLongValue, WritableLongValue, ReadOnlyLongProperty, Property
  • Constructor Details

    • LongProperty

      public LongProperty()
      Creates a default LongProperty.
  • Method Details

    • toString

      public String toString()
      Returns a string representation of this LongProperty object.
      Overrides:
      toString in class ReadOnlyLongProperty
      Returns:
      a string representation of this LongProperty object.
    • longProperty

      public static LongProperty longProperty​(Property<Long> property)
      Returns a LongProperty 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<Long> and a LongProperty.

         LongProperty longProperty = new SimpleLongProperty(1L);
         ObjectProperty<Long> objectProperty = new SimpleObjectProperty<>(2L);
      
         // Need to keep the reference as bidirectional binding uses weak references
         LongProperty objectAsLong = LongProperty.longProperty(objectProperty);
      
         longProperty.bindBidirectional(objectAsLong);
      
       
      Another approach is to convert the LongProperty to ObjectProperty using asObject() method.

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

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

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

      Can be used for binding an ObjectProperty to LongProperty.

         LongProperty longProperty = new SimpleLongProperty(1L);
         ObjectProperty<Long> objectProperty = new SimpleObjectProperty<>(2L);
      
         objectProperty.bind(longProperty.asObject());
       
      Overrides:
      asObject in class ReadOnlyLongProperty
      Returns:
      the new ObjectProperty
      Since:
      JavaFX 8.0