Класс 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
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
computeValue
protected abstract double computeValue()
Классы, расширяющие DoubleBinding, должны предоставить реализацию computeValue.
- Возвращает:
- текущее значение
toString
© 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.