A Binding
calculates a value that depends on one or more sources. The
sources are usually called the dependency of a binding. A binding observes
its dependencies for changes and updates its value automatically.
While a dependency of a binding can be anything, it is almost always an
implementation of javafx.beans.value.ObservableValue
. Binding
implements ObservableValue
allowing to use it in another binding.
With that one can assemble very complex bindings from simple bindings.
All bindings in the JavaFX runtime are calculated lazily. That means, if a dependency changes, the result of a binding is not immediately recalculated, but it is marked as invalid. Next time the value of an invalid binding is requested, it is recalculated.
It is recommended to use one of the base classes defined in this package
(e.g. DoubleBinding
) to define a custom binding, because these
classes already provide most of the needed functionality. See
DoubleBinding
for an example.
extends
<T> | the type of the wrapped value |
DoubleBinding