Spec-Zone.ru › OpenJavaFX 17

Класс 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);
     }
 };
 
 
Since:
JavaFX 2.0
См. также:
Binding, NumberBinding, DoubleExpression

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

Конструкторы
Конструктор Описание
DoubleBinding()
Создает по умолчанию DoubleBinding.

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

Модификатор и тип Метод Описание
protected void bind​(Observable... dependencies)
Начинает наблюдение за зависимостями для отслеживания изменений.
protected abstract double computeValue()
Вычисляет текущее значение этой привязки.
void dispose()
Реализация по умолчанию dispose(), которая пустая.
double get()
Возвращает результат computeValue().
ObservableList<?> getDependencies()
Реализация по умолчанию getDependencies(), которая возвращает пустой ObservableList.
protected void onInvalidating()
Метод onInvalidating() может быть переопределен расширяющими классами для реакции, если эта привязка становится недействительной.
String toString()
Возвращает строковое представление этого объекта DoubleBinding.
protected void unbind​(Observable... dependencies)
Останавливает наблюдение за зависимостями для отслеживания изменений.

Методы, унаследованные от класса javafx.beans.binding.DoubleExpression

add, add, add, add, add, asObject, divide, divide, divide, divide, divide, doubleExpression, doubleExpression, multiply, multiply, multiply, multiply, multiply, negate, subtract, subtract, subtract, subtract, subtract

Методы, унаследованные от класса javafx.beans.binding.NumberExpressionBase

numberExpression

Методы, унаследованные от класса java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

Методы, унаследованные от интерфейса javafx.beans.binding.Binding

invalidate, isValid

Методы, унаследованные от интерфейса 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

addListener, removeListener

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

doubleValue, floatValue, intValue, longValue

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

addListener, getValue, removeListener

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

DoubleBinding

public DoubleBinding()
Создаёт стандартную DoubleBinding.

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

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

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