Класс 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);
}
};
- С:
- JavaFX 2.0
- См. также:
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
DoubleBinding() |
Создаёт значение по умолчанию DoubleBinding. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
addListener |
Добавляет InvalidationListener, который будет уведомляться всякий раз, когда Observable становится недействительным. |
void |
addListener |
Добавляет ChangeListener, который будет уведомляться всякий раз, когда значение ObservableValue изменяется. |
protected final void |
bind |
Начинает наблюдение за зависимостями для изменений. |
protected abstract double |
computeValue() |
Вычисляет текущее значение этого связывания. |
void |
dispose() |
Реализация по умолчанию dispose(), которая пуста. |
final double |
get() |
Возвращает результат computeValue(). |
ObservableList<?> |
getDependencies() |
Реализация по умолчанию getDependencies(), которая возвращает пустой ObservableList. |
final void |
invalidate() |
Помечает связывание как недействительное. |
final boolean |
isValid() |
Проверяет, является ли связывание действительным. |
protected void |
onInvalidating() |
Метод onInvalidating() может быть переопределён расширяющими классами для реакции, если это связывание становится недействительным. |
void |
removeListener |
Удаляет заданного слушателя из списка слушателей, которые уведомляются всякий раз, когда значение Observable становится недействительным. |
void |
removeListener |
Удаляет заданного слушателя из списка слушателей, которые уведомляются всякий раз, когда значение ObservableValue изменяется. |
String |
toString() |
Возвращает строковое представление этого объекта DoubleBinding. |
protected final void |
unbind |
Останавливает наблюдение за зависимостями для изменений. |
Методы, объявленные в классе javafx.beans.binding.DoubleExpression
add, add, add, add, add, asObject, divide, divide, divide, divide, divide, doubleExpression, doubleExpression, doubleValue, floatValue, getValue, intValue, longValue, multiply, multiply, multiply, multiply, multiply, negate, subtract, subtract, subtract, subtract, subtract
Методы, объявленные в классе javafx.beans.binding.NumberExpressionBase
asString, asString, asString, 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, numberExpression
Методы, объявленные в классе java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Методы, объявленные в интерфейсе 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
subscribe
Методы, объявленные в интерфейсе javafx.beans.value.ObservableNumberValue
doubleValue, floatValue, intValue, longValue
Подробное описание конструкторов
DoubleBinding
public DoubleBinding()
DoubleBinding.Подробное описание методов
addListener
public void addListener(InvalidationListener listener)
ObservableInvalidationListener, который будет уведомляться всякий раз, когда Observable становится недействительным. Если один и тот же слушатель добавляется более одного раза, то он будет уведомляться более одного раза. То есть проверка на уникальность не выполняется. Обратите внимание, что один и тот же фактический экземпляр InvalidationListener может быть безопасно зарегистрирован для различных Observables.
Observable хранит сильную ссылку на слушателя, что предотвращает сборку мусора слушателя и может привести к утечке памяти. Рекомендуется либо отменить регистрацию слушателя, вызвав removeListener после использования, либо использовать экземпляр WeakInvalidationListener для предотвращения этой ситуации.
- Определено в:
-
addListenerв интерфейсеObservable - Параметры:
-
listener- слушатель для регистрации - См. также:
removeListener
public void removeListener(InvalidationListener listener)
ObservableObservable становится недействительным. Если заданный слушатель ранее не был зарегистрирован (т. е. он никогда не добавлялся), то этот вызов метода ничего не делает. Если он был ранее добавлен, то он будет удалён. Если он был добавлен более одного раза, то будет удалён только первый.
- Определено в:
-
removeListenerв интерфейсеObservable - Параметры:
-
listener- слушатель для удаления - См. также:
addListener
public void addListener(ChangeListener<? super Number> listener)
ObservableValueChangeListener, который будет уведомляться всякий раз, когда значение ObservableValue изменяется. Если один и тот же слушатель добавляется более одного раза, то он будет уведомляться более одного раза. То есть проверка на уникальность не выполняется. Обратите внимание, что один и тот же фактический экземпляр ChangeListener может быть безопасно зарегистрирован для различных ObservableValues.
ObservableValue хранит сильную ссылку на слушателя, что предотвращает сборку мусора слушателя и может привести к утечке памяти. Рекомендуется либо отменить регистрацию слушателя, вызвав removeListener после использования, либо использовать экземпляр WeakChangeListener для предотвращения этой ситуации.
- Определено в:
-
addListenerв интерфейсеObservableValue<Number> - Параметры:
-
listener- слушатель для регистрации - См. также:
removeListener
public void removeListener(ChangeListener<? super Number> listener)
ObservableValueObservableValue изменяется. Если заданный слушатель ранее не был зарегистрирован (т. е. он никогда не добавлялся), то этот вызов метода ничего не делает. Если он был ранее добавлен, то он будет удалён. Если он был добавлен более одного раза, то будет удалён только первый.
- Определено в:
-
removeListenerв интерфейсеObservableValue<Number> - Параметры:
-
listener- слушатель для удаления - См. также:
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()
invalidate
public final void invalidate()
BindingBinding в следующий раз, когда оно будет запрошено.- Определено в:
-
invalidateв интерфейсеBinding<Number>
isValid
public final boolean isValid()
Binding- Определено в:
-
isValidв интерфейсеBinding<Number> - Возвращает:
-
true, еслиBindingдопустимо,falseв противном случае
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.