Spec-Zone.ru › OpenJavaFX 24

Класс DoubleBinding

java.lang.Object
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
См. также:
  • Binding
  • NumberBinding
  • DoubleExpression

Краткое описание конструкторов

Конструктор Описание
DoubleBinding()
Создаёт стандартный DoubleBinding.

Краткое описание методов

Модификатор и тип Метод Описание
void addListener(InvalidationListener listener)
Добавляет InvalidationListener, который будет уведомлен всякий раз, когда Observable становится недействительным.
void addListener(ChangeListener<? super Number> listener)
Добавляет ChangeListener, который будет уведомлен всякий раз, когда значение ObservableValue изменяется.
protected final void bind(Observable... dependencies)
Начинает наблюдение за изменениями зависимостей.
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(InvalidationListener listener)
Удаляет заданного слушателя из списка слушателей, которые уведомляются всякий раз, когда значение Observable становится недействительным.
void removeListener(ChangeListener<? super Number> listener)
Удаляет заданного слушателя из списка слушателей, которые уведомляются всякий раз, когда значение ObservableValue изменяется.
String toString()
Возвращает строковое представление этого объекта DoubleBinding.
protected final void unbind(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.Observable

subscribe

Методы, объявленные в интерфейсе javafx.beans.value.ObservableNumberValue

doubleValue, floatValue, intValue, longValue

Методы, объявленные в интерфейсе javafx.beans.value.ObservableValue

flatMap, getValue, map, orElse, subscribe, subscribe, when

Подробное описание конструкторов

DoubleBinding

public DoubleBinding()
Создаёт по умолчанию DoubleBinding.

Подробное описание методов

addListener

public void addListener(InvalidationListener listener)
Описание скопировано из интерфейса: Observable
Добавляет InvalidationListener, который будет уведомляться всякий раз, когда Observable становится недействительным. Если один и тот же слушатель добавляется более одного раза, он будет уведомляться более одного раза. То есть не проверяется уникальность.

Обратите внимание, что один и тот же экземпляр фактического InvalidationListener может быть безопасно зарегистрирован для разных Observables.

Observable хранит сильную ссылку на слушатель, что предотвращает сборку мусора слушателя и может привести к утечке памяти. Рекомендуется либо отменить регистрацию слушателя, вызвав removeListener после использования, либо использовать экземпляр WeakInvalidationListener, чтобы избежать этой ситуации.

Указано в:
addListener в интерфейсе Observable
Параметры:
listener - Слушатель для регистрации
См. также:
  • Observable.removeListener(InvalidationListener)

removeListener

public void removeListener(InvalidationListener listener)
Описание скопировано из интерфейса: Observable
Удаляет указанного слушателя из списка слушателей, которые уведомляются всякий раз, когда значение Observable становится недействительным.

Если указанный слушатель не был ранее зарегистрирован (т. е. его никогда не добавляли), то этот вызов метода является пустым. Если он был ранее добавлен, то он будет удален. Если он был добавлен более одного раза, то будет удалено только первое вхождение.

Указано в:
removeListener в интерфейсе Observable
Параметры:
listener - Слушатель для удаления
См. также:
  • Observable.addListener(InvalidationListener)

addListener

public void addListener(ChangeListener<? super Number> listener)
Описание скопировано из интерфейса: ObservableValue
Добавляет ChangeListener, который будет уведомляться всякий раз, когда значение ObservableValue изменяется. Если один и тот же слушатель добавляется более одного раза, он будет уведомляться более одного раза. То есть не проверяется уникальность.

Обратите внимание, что один и тот же экземпляр фактического ChangeListener может быть безопасно зарегистрирован для разных ObservableValues.

ObservableValue хранит сильную ссылку на слушатель, что предотвращает сборку мусора слушателя и может привести к утечке памяти. Рекомендуется либо отменить регистрацию слушателя, вызвав removeListener после использования, либо использовать экземпляр WeakChangeListener, чтобы избежать этой ситуации.

Указано в:
addListener в интерфейсе ObservableValue<Number>
Параметры:
listener - Слушатель для регистрации
См. также:
  • ObservableValue.removeListener(ChangeListener)

removeListener

public void removeListener(ChangeListener<? super Number> listener)
Описание скопировано из интерфейса: ObservableValue
Удаляет указанного слушателя из списка слушателей, которые уведомляются всякий раз, когда значение ObservableValue изменяется.

Если указанный слушатель не был ранее зарегистрирован (т. е. его никогда не добавляли), то этот вызов метода является пустым. Если он был ранее добавлен, то он будет удален. Если он был добавлен более одного раза, то будет удалено только первое вхождение.

Указано в:
removeListener в интерфейсе ObservableValue<Number>
Параметры:
listener - Слушатель для удаления
См. также:
  • ObservableValue.addListener(ChangeListener)

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()
Метод onInvalidating() может быть переопределён расширяемыми классами для реакции, если эта привязка становится недействительной. Реализация по умолчанию пуста.

invalidate

public final void invalidate()
Описание скопировано из интерфейса: Binding
Помечает привязку как недействительную. Это принудительно пересчитывает значение Binding в следующий раз, когда оно запрашивается.
Указано в:
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.

Сообщить об ошибке или предложить улучшение
Copyright © 2008, 2025, Oracle и/или его аффилированные лица. Все права защищены.

© 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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API