- 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 描述 ReadOnlyBooleanPropertyempty一个布尔属性,如果列表为空,则为true。ReadOnlyIntegerPropertysize表示列表大小的整数属性。
-
构造方法摘要
构造方法 Constructor 描述 ListBinding()
-
方法摘要
所有方法 接口方法 抽象方法 具体的方法 Modifier and Type 方法 描述 voidaddListener(InvalidationListener listener)添加一个InvalidationListener,当Observable无效时,它将被通知。voidaddListener(ChangeListener<? super ObservableList<E>> listener)添加一个ChangeListener,当ObservableValue的值发生变化时,它将被通知。voidaddListener(ListChangeListener<? super E> listener)将侦听器添加到此可观察列表中。protected voidbind(Observable... dependencies)开始观察更改的依赖关系。protected abstract ObservableList<E>computeValue()计算此绑定的当前值。voiddispose()默认实现为dispose(),为空。ReadOnlyBooleanPropertyemptyProperty()一个布尔属性,如果列表为空,则为true。ObservableList<E>get()返回computeValue()的结果。ObservableList<?>getDependencies()getDependencies()的默认实现返回一个空的ObservableList。voidinvalidate()将绑定标记为无效。booleanisValid()检查绑定是否有效。protected voidonInvalidating()如果此绑定变为无效,那么onInvalidating()方法可以被扩展类覆盖。voidremoveListener(InvalidationListener listener)从监听器列表中删除给定的监听器,当Observable的值变为无效时,它们将被通知。voidremoveListener(ChangeListener<? super ObservableList<E>> listener)从监听器列表中删除给定的监听器,每当ObservableValue的值发生变化时通知ObservableValue。voidremoveListener(ListChangeListener<? super E> listener)尝试从此可观察列表中删除侦听器。ReadOnlyIntegerPropertysizeProperty()表示列表大小的整数属性。StringtoString()返回此ListBinding对象的字符串表示形式。protected voidunbind(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的实现。- 结果
- 当前值
-
-