Spec-Zone.ru › OpenJavaFX 21

Класс 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.

© 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