- java.lang.Object
-
- javafx.beans.binding.ListExpression<E>
-
- javafx.beans.binding.ListBinding<E>
-
- 参数类型
-
E
-List
元素的类型
- All Implemented Interfaces:
-
Iterable<E>
,Collection<E>
,List<E>
,Binding<ObservableList<E>>
,Observable
,ObservableListValue<E>
,ObservableObjectValue<E>
,ObservableValue<E>
,ObservableList<E>
public abstract class ListBinding<E> extends ListExpression<E> implements Binding<ObservableList<E>>
提供实现ObservableList
的Binding
所需的大部分功能的基类。ListBinding
提供了一个简单的无效方案。 扩展类可以通过调用bind(Observable...)
来注册依赖关系。 如果其中一个已注册的依赖关系无效,则此ListBinding
被标记为无效。 用unbind(Observable...)
监听依赖关系可以停止。为了提供该类的具体实现,必须实现方法
computeValue()
,以基于依赖关系的当前状态计算该绑定的值。 当调用get()
无效绑定时调用。参见
DoubleBinding
,了解如何扩展这个基类。- 从以下版本开始:
- JavaFX 2.1
- 另请参见:
-
Binding
,ListExpression
-
-
Property Summary
Properties Type Property 描述 ReadOnlyBooleanProperty
empty
一个布尔属性,如果列表为空,则为true
。ReadOnlyIntegerProperty
size
表示列表大小的整数属性。
-
构造方法摘要
构造方法 Constructor 描述 ListBinding()
-
方法摘要
所有方法 接口方法 抽象方法 具体的方法 Modifier and Type 方法 描述 void
addListener(InvalidationListener listener)
添加一个InvalidationListener
,当Observable
无效时,它将被通知。void
addListener(ChangeListener<? super ObservableList<E>> listener)
添加一个ChangeListener
,当ObservableValue
的值发生变化时,它将被通知。void
addListener(ListChangeListener<? super E> listener)
将侦听器添加到此可观察列表中。protected void
bind(Observable... dependencies)
开始观察更改的依赖关系。protected abstract ObservableList<E>
computeValue()
计算此绑定的当前值。void
dispose()
默认实现为dispose()
,为空。ReadOnlyBooleanProperty
emptyProperty()
一个布尔属性,如果列表为空,则为true
。ObservableList<E>
get()
返回computeValue()
的结果。ObservableList<?>
getDependencies()
getDependencies()
的默认实现返回一个空的ObservableList
。void
invalidate()
将绑定标记为无效。boolean
isValid()
检查绑定是否有效。protected void
onInvalidating()
如果此绑定变为无效,那么onInvalidating()方法可以被扩展类覆盖。void
removeListener(InvalidationListener listener)
从监听器列表中删除给定的监听器,当Observable
的值变为无效时,它们将被通知。void
removeListener(ChangeListener<? super ObservableList<E>> listener)
从监听器列表中删除给定的监听器,每当ObservableValue
的值发生变化时通知ObservableValue
。void
removeListener(ListChangeListener<? super E> listener)
尝试从此可观察列表中删除侦听器。ReadOnlyIntegerProperty
sizeProperty()
表示列表大小的整数属性。String
toString()
返回此ListBinding
对象的字符串表示形式。protected void
unbind(Observable... dependencies)
停止观察更改的依赖关系。-
Methods inherited from interface java.util.Collection
parallelStream, removeIf, stream
-
Methods inherited from interface java.util.List
equals, hashCode, of, of, of, of, of, of, of, of, of, of, of, of, replaceAll, sort, spliterator
-
Methods inherited from class javafx.beans.binding.ListExpression
add, add, addAll, addAll, addAll, asString, clear, contains, containsAll, get, getSize, getValue, indexOf, isEmpty, isEqualTo, isNotEqualTo, isNotNull, isNull, iterator, lastIndexOf, listExpression, listIterator, listIterator, remove, remove, remove, removeAll, removeAll, retainAll, retainAll, set, setAll, setAll, size, subList, toArray, toArray, valueAt, valueAt
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface javafx.collections.ObservableList
filtered, sorted, sorted
-
Methods inherited from interface javafx.beans.value.ObservableValue
getValue
-
-
-
-
Property Detail
-
size
public ReadOnlyIntegerProperty sizeProperty
- Specified by:
-
sizeProperty
在ListExpression<E>
- 另请参见:
-
ListExpression.getSize()
-
empty
public ReadOnlyBooleanProperty emptyProperty
- Specified by:
-
emptyProperty
在ListExpression<E>
- 另请参见:
-
ListExpression.isEmpty()
-
-
方法详细信息
-
sizeProperty
public ReadOnlyIntegerProperty sizeProperty()
描述从类别复制ListExpression
表示列表大小的整数属性。- Specified by:
-
sizeProperty
中的ListExpression<E>
- 另请参见:
-
ListExpression.getSize()
-
emptyProperty
public ReadOnlyBooleanProperty emptyProperty()
描述从类别复制ListExpression
一个布尔属性是true
,如果列表为空。- Specified by:
-
emptyProperty
在ListExpression<E>
- 另请参见:
-
ListExpression.isEmpty()
-
addListener
public void addListener(InvalidationListener listener)
描述从接口Observable
复制添加一个InvalidationListener
,当Observable
变为无效时,它将被通知。 如果同一个监听器被多次添加,那么它将被多次通知。 也就是说,没有检查确保唯一性。请注意,相同的实际
InvalidationListener
实例可以安全地注册到不同的Observables
。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 ObservableList<E>> listener)
说明从界面ObservableValue
复制添加一个ChangeListener
,当ObservableValue
的值发生变化时,它将被通知。 如果同一个监听器被多次添加,那么它将被多次通知。 也就是说,没有检查确保唯一性。请注意,相同的实际
ChangeListener
实例可能会安全注册为不同的ObservableValues
。ObservableValue
存储对侦听器的强烈引用,这将阻止侦听器被垃圾回收,并可能导致内存泄漏。 建议您在使用后通过致电removeListener
注销收听者,或使用WeakChangeListener
的实例避免此情况。- Specified by:
-
addListener
在接口ObservableValue<E>
- 参数
-
listener
-listener
注册 - 另请参见:
-
ObservableValue.removeListener(ChangeListener)
-
removeListener
public void removeListener(ChangeListener<? super ObservableList<E>> listener)
说明从接口ObservableValue
复制从监听器列表中删除给定的监听器,当ObservableValue
的值发生变化时通知ObservableValue
。如果给定的侦听器以前没有被注册过(即它从未被添加过),那么这个方法调用是一个无操作的。 如果以前已经添加,那么它将被删除。 如果多次添加,那么只有第一次出现将被删除。
- Specified by:
-
removeListener
接口ObservableValue<E>
- 参数
-
listener
- 要删除的侦听器 - 另请参见:
-
ObservableValue.addListener(ChangeListener)
-
addListener
public void addListener(ListChangeListener<? super E> listener)
说明从接口ObservableList
复制将侦听器添加到此可观察列表中。- Specified by:
-
addListener
在接口ObservableList<E>
- 参数
-
listener
- 用于监听列表更改的侦听器
-
removeListener
public void removeListener(ListChangeListener<? super E> listener)
说明从接口ObservableList
复制尝试从此可观察列表中删除侦听器。 如果监听者没有附加到此列表中,则不会发生任何事情。- Specified by:
-
removeListener
在接口ObservableList<E>
- 参数
-
listener
- 要删除的侦听器
-
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<E>
- 结果
-
一个空的
ObservableList
-
get
public final ObservableList<E> get()
- Specified by:
-
get
在接口ObservableObjectValue<E>
- 结果
- 当前值
-
onInvalidating
protected void onInvalidating()
如果此绑定变为无效,那么onInvalidating()方法可以被扩展类覆盖。 默认实现为空。
-
invalidate
public final void invalidate()
说明从界面Binding
复制将绑定标记为无效。 这迫使下次再次计算Binding
请求。- Specified by:
-
invalidate
接口Binding<E>
-
isValid
public final boolean isValid()
描述从接口Binding
复制检查绑定是否有效。
-
computeValue
protected abstract ObservableList<E> computeValue()
计算此绑定的当前值。扩展
ListBinding
必须提供computeValue
的实现。- 结果
- 当前值
-
-