Класс DoubleBinding
- Все реализуемые интерфейсы:
-
Binding<Number>,NumberBinding,NumberExpression,Observable,ObservableDoubleValue,ObservableNumberValue,ObservableValue<Number>
public abstract class DoubleBinding
extends DoubleExpression
implements NumberBinding Binding значения double. DoubleBinding предоставляет простую схему проверки на недействительность. Расширяющий класс может регистрировать зависимости, вызывая bind(Observable...). Если одна из зарегистрированных зависимостей становится недействительной, этот DoubleBinding отмечается как недействительный. С помощью unbind(Observable...) наблюдение за зависимостями можно остановить.
Для предоставления конкретной реализации этого класса, необходимо реализовать метод computeValue() для вычисления значения этой привязки на основе текущего состояния зависимостей. Он вызывается при вызове get() для недействительной привязки.
Ниже приведен простой пример DoubleBinding, вычисляющего квадратный корень из значения ObservableNumberValue moo.
final ObservableDoubleValue moo = ...;
DoubleBinding foo = new DoubleBinding() {
{
super.bind(moo);
}
@Override
protected double computeValue() {
return Math.sqrt(moo.getValue());
}
};
В следующем примере приведены реализации необязательных методов Binding.getDependencies() и 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
- См. также:
-
Binding,NumberBinding,DoubleExpression
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
DoubleBinding() | Создает по умолчанию DoubleBinding. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
protected void | bind(Observable... dependencies) | Начинает наблюдение за зависимостями для отслеживания изменений. |
protected abstract double | computeValue() | Вычисляет текущее значение этой привязки. |
void | dispose() | Реализация по умолчанию dispose(), которая пустая. |
double | get() | Возвращает результат computeValue(). |
ObservableList<?> | getDependencies() | Реализация по умолчанию getDependencies(), которая возвращает пустой ObservableList. |
protected void | onInvalidating() | Метод onInvalidating() может быть переопределен расширяющими классами для реакции, если эта привязка становится недействительной. |
String | toString() | Возвращает строковое представление этого объекта DoubleBinding. |
protected void | unbind(Observable... dependencies) | Останавливает наблюдение за зависимостями для отслеживания изменений. |
Методы, унаследованные от класса 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
Методы, унаследованные от класса javafx.beans.binding.NumberExpressionBase
numberExpression
Методы, унаследованные от класса java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Методы, унаследованные от интерфейса javafx.beans.binding.Binding
invalidate, isValid
Методы, унаследованные от интерфейса 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
Методы, унаследованные от интерфейса javafx.beans.Observable
addListener, removeListener
Методы, унаследованные от интерфейса javafx.beans.value.ObservableNumberValue
doubleValue, floatValue, intValue, longValue
Методы, унаследованные от интерфейса javafx.beans.value.ObservableValue
addListener, getValue, removeListener
Подробное описание конструкторов
DoubleBinding
public DoubleBinding()
DoubleBinding.Подробное описание методов
bind
protected final void bind(Observable... dependencies)
- Параметры:
-
dependencies- наблюдаемые зависимости
unbind
protected final void unbind(Observable... dependencies)
- Параметры:
-
dependencies- зависимости, за которыми прекращается наблюдение
dispose
public void dispose()
dispose(), которая пуста.- Указано в:
-
disposeв интерфейсеBinding<Number>
getDependencies
public ObservableList<?> getDependencies()
getDependencies(), которая возвращает пустой ObservableList.- Указано в:
-
getDependenciesв интерфейсеBinding<Number> - Возвращает:
- пустой
ObservableList
get
public final double get()
computeValue(). Метод computeValue() вызывается только в том случае, если привязка является недействительной. Результат кешируется и возвращается, если привязка не стала недействительной с момента последнего вызова get().- Указано в:
-
getв интерфейсеObservableDoubleValue - Возвращает:
- текущее значение
onInvalidating
protected void onInvalidating()
computeValue
protected abstract double computeValue()
Классы, расширяющие DoubleBinding, должны предоставить реализацию computeValue.
- Возвращает:
- текущее значение
toString
public String toString()
DoubleBinding.- Переопределяет:
-
toStringв классеObject - Возвращает:
- строковое представление этого объекта
DoubleBinding.
© 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.