- java.lang.Object
-
- javafx.beans.binding.ListExpression<E>
-
- javafx.beans.property.ReadOnlyListProperty<E>
-
- javafx.beans.property.ReadOnlyListPropertyBase<E>
-
- All Implemented Interfaces:
-
Iterable<E>
,Collection<E>
,List<E>
,Observable
,ReadOnlyProperty<E>
,ObservableListValue<E>
,ObservableObjectValue<E>
,ObservableValue<E>
,ObservableList<E>
public abstract class ReadOnlyListPropertyBase<E> extends ReadOnlyListProperty<E>
所有只读属性的基类包装一个ObservableList
。 此类提供了一个默认实现来附加侦听器。- 从以下版本开始:
- JavaFX 2.1
- 另请参见:
-
ReadOnlyListProperty
-
-
Property Summary
-
Properties inherited from class javafx.beans.binding.ListExpression
empty, size
-
-
构造方法摘要
构造方法 Constructor 描述 ReadOnlyListPropertyBase()
-
方法摘要
所有方法 接口方法 具体的方法 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
fireValueChangedEvent()
如果对ObservableList
的引用发生变化,则需要调用此方法。protected void
fireValueChangedEvent(ListChangeListener.Change<? extends E> change)
如果参考ObservableList
的内容发生变化,则需要调用此方法。void
removeListener(InvalidationListener listener)
从监听器列表中删除给定的监听器,当Observable
的值变为无效时通知Observable
。void
removeListener(ChangeListener<? super ObservableList<E>> listener)
从监听器列表中删除给定的监听器,当ObservableValue
的值发生变化时通知ObservableValue
。void
removeListener(ListChangeListener<? super E> listener)
尝试从此可观察列表中删除侦听器。-
Methods inherited from interface java.util.Collection
parallelStream, removeIf, stream
-
Methods inherited from interface java.util.List
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, emptyProperty, 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, sizeProperty, subList, toArray, toArray, valueAt, valueAt
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface javafx.collections.ObservableList
filtered, sorted, sorted
-
Methods inherited from interface javafx.beans.value.ObservableObjectValue
get
-
Methods inherited from interface javafx.beans.value.ObservableValue
getValue
-
Methods inherited from class javafx.beans.property.ReadOnlyListProperty
bindContent, bindContentBidirectional, equals, hashCode, toString, unbindContent, unbindContentBidirectional
-
Methods inherited from interface javafx.beans.property.ReadOnlyProperty
getBean, getName
-
-
-
-
方法详细信息
-
addListener
public void addListener(InvalidationListener listener)
说明从界面Observable
复制添加一个InvalidationListener
,当Observable
无效时,它将被通知。 如果同一个监听器被多次添加,那么它将被多次通知。 也就是说,没有检查确保唯一性。请注意,相同的实际
InvalidationListener
实例可以安全地注册到不同的Observables
。Observable
存储对侦听器的强烈引用,这将阻止侦听器被垃圾回收,并可能导致内存泄漏。 建议您在使用后通过调用removeListener
注销一个监听器,或者使用WeakInvalidationListener
的一个实例来避免这种情况。- 参数
-
listener
-listener
注册 - 另请参见:
-
Observable.removeListener(InvalidationListener)
-
removeListener
public void removeListener(InvalidationListener listener)
说明从接口Observable
复制从监听器列表中删除给定的监听器,当Observable
的值变为无效时通知Observable
。如果给定的侦听器以前没有被注册过(即它从未被添加过),那么这个方法调用是一个无操作的。 如果以前已经添加,那么它将被删除。 如果多次添加,那么只有第一次出现将被删除。
- 参数
-
listener
- 要删除的侦听器 - 另请参见:
-
Observable.addListener(InvalidationListener)
-
addListener
public void addListener(ChangeListener<? super ObservableList<E>> listener)
描述从接口ObservableValue
复制添加一个ChangeListener
,当ObservableValue
的值发生变化时,它将被通知。 如果同一个监听器被多次添加,那么它将被多次通知。 也就是说,没有检查确保唯一性。请注意,相同的实际
ChangeListener
实例可以安全地注册到不同的ObservableValues
。ObservableValue
存储对侦听器的强烈引用,这将阻止侦听器被垃圾回收,并可能导致内存泄漏。 建议您在使用后拨打removeListener
或使用WeakChangeListener
的实例取消注册监听器,以避免此情况。- 参数
-
listener
- 要注册的听众 - 另请参见:
-
ObservableValue.removeListener(ChangeListener)
-
removeListener
public void removeListener(ChangeListener<? super ObservableList<E>> listener)
描述从接口ObservableValue
复制从监听器列表中删除给定的监听器,当ObservableValue
的值更改时通知ObservableValue
。如果给定的侦听器以前没有被注册过(即它从未被添加过),那么这个方法调用是一个无操作的。 如果以前已经添加,那么它将被删除。 如果多次添加,那么只有第一次出现将被删除。
- 参数
-
listener
- 要删除的侦听器 - 另请参见:
-
ObservableValue.addListener(ChangeListener)
-
addListener
public void addListener(ListChangeListener<? super E> listener)
描述从接口ObservableList
复制将侦听器添加到此可观察列表中。- 参数
-
listener
- 用于监听列表更改的监听器
-
removeListener
public void removeListener(ListChangeListener<? super E> listener)
说明从接口ObservableList
复制尝试从此可观察列表中删除侦听器。 如果监听者没有附加到此列表中,则不会发生任何事情。- 参数
-
listener
- 要删除的侦听器
-
fireValueChangedEvent
protected void fireValueChangedEvent()
如果对ObservableList
的引用发生变化,则需要调用此方法。 它发出通知所有连接InvalidationListeners
,ChangeListeners
,并ListChangeListener
。 如果此属性的值更改,则需要调用此方法。
-
fireValueChangedEvent
protected void fireValueChangedEvent(ListChangeListener.Change<? extends E> change)
如果引用的内容ObservableList
的内容发生变化,则需要调用此方法。 发送通知到所有连接InvalidationListeners
,ChangeListeners
,并ListChangeListener
。 当列表的内容更改时调用此方法。- 参数
-
change
- the change that needs to be propagated
-
-