- java.lang.Object
-
- javafx.beans.binding.NumberExpressionBase
-
- javafx.beans.binding.IntegerExpression
-
- javafx.beans.binding.IntegerBinding
-
- All Implemented Interfaces:
-
Binding<Number>
,NumberBinding
,NumberExpression
,Observable
,ObservableIntegerValue
,ObservableNumberValue
,ObservableValue<Number>
public abstract class IntegerBinding extends IntegerExpression implements NumberBinding
提供实现int
值Binding
所需的大部分功能的基类。IntegerBinding
提供了一个简单的无效方案。 扩展类可以通过调用bind(Observable...)
来注册依赖关系。 如果其中一个已注册的依赖关系无效,则该IntegerBinding
被标记为无效。 用unbind(Observable...)
监听依赖可以停止。为了提供这个类的具体实现,必须实现方法
computeValue()
,以便根据依赖关系的当前状态来计算该绑定的值。 当为无效绑定调用get()
时调用。参见
DoubleBinding
,了解如何扩展这个基类。- 从以下版本开始:
- JavaFX 2.0
- 另请参见:
-
Binding
,NumberBinding
,IntegerExpression
-
-
构造方法摘要
构造方法 Constructor 描述 IntegerBinding()
-
方法摘要
所有方法 接口方法 抽象方法 具体的方法 Modifier and Type 方法 描述 void
addListener(InvalidationListener listener)
添加一个InvalidationListener
,当Observable
无效时,它将被通知。void
addListener(ChangeListener<? super Number> listener)
添加一个ChangeListener
,当ObservableValue
的值发生变化时,它将被通知。protected void
bind(Observable... dependencies)
开始观察更改的依赖关系。protected abstract int
computeValue()
计算此绑定的当前值。void
dispose()
默认实现为dispose()
,为空。int
get()
返回computeValue()
的结果。ObservableList<?>
getDependencies()
getDependencies()
的默认实现返回一个空的ObservableList
。void
invalidate()
将绑定标记为无效。boolean
isValid()
检查绑定是否有效。protected void
onInvalidating()
如果此绑定变为无效,那么onInvalidating()方法可以被扩展类覆盖。void
removeListener(InvalidationListener listener)
从监听器列表中删除给定的监听器,当Observable
的值变为无效时通知Observable
。void
removeListener(ChangeListener<? super Number> listener)
从监听器列表中删除给定的监听器,每当ObservableValue
的值发生变化时通知ObservableValue
。String
toString()
返回此IntegerBinding
对象的字符串表示形式。protected void
unbind(Observable... dependencies)
停止观察更改的依赖关系。-
Methods inherited from class javafx.beans.binding.IntegerExpression
add, add, add, add, asObject, divide, divide, divide, divide, doubleValue, floatValue, getValue, integerExpression, integerExpression, intValue, longValue, multiply, multiply, multiply, multiply, negate, subtract, subtract, subtract, subtract
-
Methods inherited from interface 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
-
Methods inherited from class javafx.beans.binding.NumberExpressionBase
add, asString, asString, asString, 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, numberExpression, subtract
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface javafx.beans.value.ObservableNumberValue
doubleValue, floatValue, intValue, longValue
-
Methods inherited from interface javafx.beans.value.ObservableValue
getValue
-
-
-
-
方法详细信息
-
addListener
public void addListener(InvalidationListener listener)
说明从接口Observable
复制添加一个InvalidationListener
,当Observable
无效时,它将被通知。 如果同一个监听器被多次添加,那么它将被多次通知。 也就是说,没有检查确保唯一性。请注意,不同的
Observables
可能会安全注册相同的实际InvalidationListener
实例。Observable
存储对侦听器的强引用,这将阻止侦听器被垃圾回收,并可能导致内存泄漏。 建议您在使用后通过调用removeListener
取消注册监听器,或者使用WeakInvalidationListener
的实例避免此情况。- Specified by:
-
addListener
在接口Observable
- 参数
-
listener
-listener
注册 - 另请参见:
-
Observable.removeListener(InvalidationListener)
-
removeListener
public void removeListener(InvalidationListener listener)
说明从界面Observable
复制从监听器列表中删除给定的侦听器,每当Observable
的值变为无效时通知Observable
。如果给定的侦听器以前没有被注册过(即它从未被添加过),那么这个方法调用是一个无操作的。 如果以前已经添加,那么它将被删除。 如果多次添加,那么只有第一次出现将被删除。
- Specified by:
-
removeListener
在接口Observable
- 参数
-
listener
- 要删除的侦听器 - 另请参见:
-
Observable.addListener(InvalidationListener)
-
addListener
public void addListener(ChangeListener<? super Number> listener)
说明从界面ObservableValue
复制添加一个ChangeListener
,当ObservableValue
的值更改时,将通知它。 如果同一个监听器被多次添加,那么它将被多次通知。 也就是说,没有检查确保唯一性。请注意,相同的实际
ChangeListener
实例可能会安全注册为不同的ObservableValues
。ObservableValue
存储对侦听器的强烈引用,这将阻止侦听器被垃圾回收,并可能导致内存泄漏。 建议您在使用后通过调用removeListener
注销监听器,或者使用WeakChangeListener
的实例来避免此情况。- Specified by:
-
addListener
在接口ObservableValue<Number>
- 参数
-
listener
- 要注册的听众 - 另请参见:
-
ObservableValue.removeListener(ChangeListener)
-
removeListener
public void removeListener(ChangeListener<? super Number> listener)
说明从界面ObservableValue
复制从监听器列表中删除给定的监听器,当ObservableValue
的值发生变化时通知ObservableValue
。如果给定的侦听器以前没有被注册过(即它从未被添加过),那么这个方法调用是一个无操作的。 如果以前已经添加,那么它将被删除。 如果多次添加,那么只有第一次出现将被删除。
- Specified by:
-
removeListener
在接口ObservableValue<Number>
- 参数
-
listener
- 要删除的侦听器 - 另请参见:
-
ObservableValue.addListener(ChangeListener)
-
bind
protected final void bind(Observable... dependencies)
开始观察更改的依赖关系。 如果其中一个依赖关系的值发生变化,则绑定被标记为无效。- 参数
-
dependencies
- 依赖关系观察
-
unbind
protected final void unbind(Observable... dependencies)
停止观察更改的依赖关系。- 参数
-
dependencies
- 停止观察的依赖关系
-
getDependencies
public ObservableList<?> getDependencies()
getDependencies()
的默认实现返回一个空的ObservableList
。- Specified by:
-
getDependencies
接口Binding<Number>
- 结果
-
一个空的
ObservableList
-
get
public final int get()
- Specified by:
-
get
在接口ObservableIntegerValue
- 结果
- 当前值
-
onInvalidating
protected void onInvalidating()
如果此绑定变为无效,那么onInvalidating()方法可以被扩展类覆盖。 默认实现为空。
-
invalidate
public final void invalidate()
说明从界面Binding
复制将绑定标记为无效。 这迫使重新计算Binding
下一次请求的值。- Specified by:
-
invalidate
在接口Binding<Number>
-
isValid
public final boolean isValid()
说明从界面Binding
复制检查绑定是否有效。
-
computeValue
protected abstract int computeValue()
计算此绑定的当前值。扩展
IntegerBinding
必须提供computeValue
的实现。- 结果
- 当前值
-
-