Class DoubleBinding
- All Implemented Interfaces:
-
Binding<Number>,NumberBinding,NumberExpression,Observable,ObservableDoubleValue,ObservableNumberValue,ObservableValue<Number>
public abstract class DoubleBinding
extends DoubleExpression
implements NumberBinding Binding of a double value. DoubleBinding provides a simple invalidation-scheme. An extending class can register dependencies by calling bind(Observable...). If One of the registered dependencies becomes invalid, this DoubleBinding is marked as invalid. With unbind(Observable...) listening to dependencies can be stopped.
To provide a concrete implementation of this class, the method computeValue() has to be implemented to calculate the value of this binding based on the current state of the dependencies. It is called when get() is called for an invalid binding.
Below is a simple example of a DoubleBinding calculating the square- root of a ObservableNumberValue moo.
final ObservableDoubleValue moo = ...;
DoubleBinding foo = new DoubleBinding() {
{
super.bind(moo);
}
@Override
protected double computeValue() {
return Math.sqrt(moo.getValue());
}
};
Following is the same example with implementations for the optional methods Binding.getDependencies() and Binding.dispose().
final ObservableDoubleValue moo = ...;
DoubleBinding foo = new DoubleBinding() {
{
super.bind(moo);
}
@Override
protected double computeValue() {
return Math.sqrt(moo.getValue());
}
@Override
public ObservableList<?> getDependencies() {
return FXCollections.singletonObservableList(moo);
}
@Override
public void dispose() {
super.unbind(moo);
}
};
- Since:
- JavaFX 2.0
- See Also:
-
Binding,NumberBinding,DoubleExpression
Constructor Summary
| Constructor | Description |
|---|---|
DoubleBinding() | Creates a default DoubleBinding. |
Method Summary
| Modifier and Type | Method | Description |
|---|---|---|
protected void | bind(Observable... dependencies) | Start observing the dependencies for changes. |
protected abstract double | computeValue() | Calculates the current value of this binding. |
void | dispose() | A default implementation of dispose() that is empty. |
double | get() | Returns the result of computeValue(). |
ObservableList<?> | getDependencies() | A default implementation of getDependencies() that returns an empty ObservableList. |
protected void | onInvalidating() | The method onInvalidating() can be overridden by extending classes to react, if this binding becomes invalid. |
String | toString() | Returns a string representation of this DoubleBinding object. |
protected void | unbind(Observable... dependencies) | Stop observing the dependencies for changes. |
Methods declared in class javafx.beans.binding.DoubleExpression
add, add, add, add, add, asObject, divide, divide, divide, divide, divide, doubleExpression, doubleExpression, multiply, multiply, multiply, multiply, multiply, negate, subtract, 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.Binding
invalidate, isValid
Methods declared in interface javafx.beans.binding.NumberExpression
add, add, add, add, add, asString, asString, asString, divide, divide, divide, divide, 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, multiply, multiply, multiply, multiply, negate, subtract, subtract, subtract, subtract, subtract
Methods declared in interface javafx.beans.Observable
addListener, removeListener
Methods declared in interface javafx.beans.value.ObservableNumberValue
doubleValue, floatValue, intValue, longValue
Methods declared in interface javafx.beans.value.ObservableValue
addListener, getValue, removeListener
Constructor Details
DoubleBinding
public DoubleBinding()
DoubleBinding.Method Details
bind
protected final void bind(Observable... dependencies)
- Parameters:
-
dependencies- the dependencies to observe
unbind
protected final void unbind(Observable... dependencies)
- Parameters:
-
dependencies- the dependencies to stop observing
dispose
public void dispose()
dispose() that is empty.- Specified by:
-
disposein interfaceBinding<Number>
getDependencies
public ObservableList<?> getDependencies()
getDependencies() that returns an empty ObservableList.- Specified by:
-
getDependenciesin interfaceBinding<Number> - Returns:
- an empty
ObservableList
get
public final double get()
computeValue(). The method computeValue() is only called if the binding is invalid. The result is cached and returned if the binding did not become invalid since the last call of get().- Specified by:
-
getin interfaceObservableDoubleValue - Returns:
- the current value
onInvalidating
protected void onInvalidating()
computeValue
protected abstract double computeValue()
Classes extending DoubleBinding have to provide an implementation of computeValue.
- Returns:
- the current value
toString
public String toString()
DoubleBinding object.- Overrides:
-
toStringin classObject - Returns:
- a string representation of this
DoubleBindingobject.
© 2008, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from JavaFX API Documentation.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Java, JavaFX and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.