Класс DoubleBinding
- javafx.beans.binding.NumberExpressionBase
-
- javafx.beans.binding.DoubleExpression
-
- javafx.beans.binding.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()
-
Краткое описание методов
Все методыМетоды экземпляровАбстрактные методыКонкретные методы Модификатор и тип Метод и описание voidaddListener(ChangeListener<? super Number> listener)ДобавляетChangeListener, который будет уведомляться всякий раз, когда значениеObservableValueизменяется.voidaddListener(InvalidationListener listener)ДобавляетInvalidationListener, который будет уведомляться всякий раз, когдаObservableстановится недействительным.protected voidbind(Observable... dependencies)Начинает наблюдение за зависимостями для изменений.protected abstract doublecomputeValue()Вычисляет текущее значение этой привязки.voiddispose()Базовая реализацияdispose(), которая ничего не делает.doubleget()Возвращает результатcomputeValue().ObservableList<?>getDependencies()Базовая реализацияgetDependencies(), которая возвращает пустойObservableList.voidinvalidate()Помечает привязку как недействительную.booleanisValid()Проверяет, действительна ли привязка.protected voidonInvalidating()Метод onInvalidating() может быть переопределён расширяющими классами для реакции, если эта привязка становится недействительной.voidremoveListener(ChangeListener<? super Number> listener)Удаляет заданный слушатель из списка слушателей, которые уведомляются всякий раз, когда значениеObservableValueизменяется.voidremoveListener(InvalidationListener listener)Удаляет заданного слушателя из списка слушателей, которые уведомляются всякий раз, когда значениеObservableстановится недействительным.StringtoString()Возвращает строковое представление этого объектаDoubleBinding.protected voidunbind(Observable... dependencies)Прекращает наблюдение за зависимостями для изменений.-
Наследованные методы из класса 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.value.ObservableNumberValue
doubleValue, floatValue, intValue, longValue
-
Наследованные методы из интерфейса javafx.beans.value.ObservableValue
getValue
-
-
Подробное описание конструкторов
-
DoubleBinding
public DoubleBinding()
-
-
Подробное описание методов
-
addListener
public void addListener(InvalidationListener listener)
Описание скопировано из интерфейса:ObservableДобавляетInvalidationListener, который будет уведомляться всякий раз, когдаObservableстанет недействительным. Если один и тот же слушатель добавляется более одного раза, он будет уведомляться более одного раза. То есть проверка уникальности не выполняется.Обратите внимание, что один и тот же фактический экземпляр
InvalidationListenerможет быть безопасно зарегистрирован для различныхObservables.Observableхранит сильную ссылку на слушателя, что предотвратит сборку мусора слушателя и может привести к утечке памяти. Рекомендуется либо отменить регистрацию слушателя, вызвавremoveListenerпосле использования, либо использовать экземплярWeakInvalidationListener, чтобы избежать этой ситуации.Определено в:
addListenerв интерфейсеObservableПараметры:
listener- Слушатель для регистрации
-
removeListener
public void removeListener(InvalidationListener listener)
Описание скопировано из интерфейса:ObservableУдаляет указанного слушателя из списка слушателей, которые уведомляются всякий раз, когда значениеObservableстановится недействительным.Если указанный слушатель ранее не был зарегистрирован (т.е. его никогда не добавляли), то вызов этого метода не приведет ни к каким действиям. Если он был ранее добавлен, то он будет удален. Если он был добавлен более одного раза, то будет удален только первый экземпляр.
Определено в:
removeListenerв интерфейсеObservableПараметры:
listener- Слушатель для удаленияСм. также:
-
addListener
public void addListener(ChangeListener<? super Number> listener)
Описание скопировано из интерфейса:ObservableValueДобавляетChangeListener, который будет уведомляться всякий раз, когда значениеObservableValueизменяется. Если один и тот же слушатель добавляется более одного раза, он будет уведомляться более одного раза. То есть проверка уникальности не выполняется.Обратите внимание, что один и тот же фактический экземпляр
ChangeListenerможет быть безопасно зарегистрирован для различныхObservableValues.ObservableValueхранит сильную ссылку на слушателя, что предотвратит сборку мусора слушателя и может привести к утечке памяти. Рекомендуется либо отменить регистрацию слушателя, вызвавremoveListenerпосле использования, либо использовать экземплярWeakChangeListener, чтобы избежать этой ситуации.Определено в:
addListenerв интерфейсеObservableValue<Number>Параметры:
listener- Слушатель для регистрации
-
removeListener
public void removeListener(ChangeListener<? super Number> listener)
Описание скопировано из интерфейса:ObservableValueУдаляет указанного слушателя из списка слушателей, которые уведомляются всякий раз, когда значениеObservableValueизменяется.Если указанный слушатель ранее не был зарегистрирован (т.е. его никогда не добавляли), то вызов этого метода не приведет ни к каким действиям. Если он был ранее добавлен, то он будет удален. Если он был добавлен более одного раза, то будет удален только первый экземпляр.
Определено в:
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(), которая пустая.
-
getDependencies
public ObservableList<?> getDependencies()
Реализация по умолчаниюgetDependencies(), которая возвращает пустойObservableList.Определено в:
getDependenciesв интерфейсеBinding<Number>Возвращает:
пустой
ObservableList
-
get
public final double get()
Возвращает результатcomputeValue(). МетодcomputeValue()вызывается только в случае, если привязка стала недействительной. Результат кэшируется и возвращается, если привязка не стала недействительной с момента последнего вызоваget().Определено в:
getв интерфейсеObservableDoubleValueВозвращает:
текущее значение
-
onInvalidating
protected void onInvalidating()
Метод onInvalidating() может быть переопределён подклассами для реакции, если эта привязка становится недействительной. Реализация по умолчанию пустая.
-
invalidate
public final void invalidate()
Описание скопировано из интерфейса:BindingОтмечает привязку как недействительную. Это принудительно пересчитывает значениеBindingв следующий раз, когда оно будет запрошено.Определено в:
invalidateв интерфейсеBinding<Number>
-
isValid
public final boolean isValid()
Описание скопировано из интерфейса:BindingПроверяет, действительна ли привязка.
-
computeValue
protected abstract double computeValue()
Вычисляет текущее значение этой привязки.Классы, расширяющие
DoubleBinding, должны предоставить реализациюcomputeValue.Возвращает:
текущее значение
-
toString
public String toString()
Возвращает строковое представление этого объекта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.