A JavaBeanLongProperty provides an adapter between a regular
Java Bean property of type long or Long and a JavaFX
LongProperty. It cannot be created directly, but a
JavaBeanLongPropertyBuilder has to be used.
As a minimum, the Java Bean class must implement a getter and a setter for the
property.
The class, as well as the getter and a setter methods, must be declared public.
If the getter of an instance of this class is called, the property of
the Java Bean is returned. If the setter is called, the value will be passed
to the Java Bean property. If the Java Bean property is bound (i.e. it supports
PropertyChangeListeners), this JavaBeanLongProperty will be
aware of changes in the Java Bean. Otherwise it can be notified about
changes by calling fireValueChangedEvent(). If the Java Bean property
is also constrained (i.e. it supports VetoableChangeListeners), this
JavaBeanLongProperty will reject changes, if it is bound to an
ObservableValue<Long>.
Deploying an Application as a Module
If the Java Bean class is in a named module, then it must be reflectively
accessible to the javafx.base module.
A class is reflectively accessible if the module
opens the containing package to at
least the javafx.base module.
For example, if com.foo.MyBeanClass is in the foo.app module,
the module-info.java might
look like this:
module foo.app {
opens com.foo to javafx.base;
}
Alternatively, a class is reflectively accessible if the module
exports the containing package
unconditionally.
extends
javafx.beans.property.LongProperty, JavaBeanLongPropertyBuilder