|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.beans
类 PropertyChangeSupport
java.lang.Object java.beans.PropertyChangeSupport
- 所有已实现的接口:
- Serializable
- 直接已知子类:
- SwingPropertyChangeSupport
-
public class PropertyChangeSupport
- extends Object
- implements Serializable
这是一个实用工具类,支持 bound 属性的 bean 可以使用该类。可以使用此类的实例作为 bean 的成员字段,并将各种工作委托给它。 此类是可序列化的。在对它进行序列化时,它将保存(并恢复)本身可序列化的所有侦听器。在序列化期间,将跳过所有不可序列化的侦听器。
- 另请参见:
- 序列化表格
构造方法摘要 | |
---|---|
PropertyChangeSupport(Object sourceBean) 构造一个 PropertyChangeSupport 对象。 |
方法摘要 | |
---|---|
void |
addPropertyChangeListener(PropertyChangeListener listener) 向侦听器列表添加一个 PropertyChangeListener。 |
void |
addPropertyChangeListener(String propertyName, PropertyChangeListener listener) 为指定的属性向侦听器列表中添加一个 PropertyChangeListener。 |
void |
fireIndexedPropertyChange(String propertyName, int index, boolean oldValue, boolean newValue) 以 boolean 值形式报告所有已注册侦听器的 bound indexed 属性更新。 |
void |
fireIndexedPropertyChange(String propertyName, int index, int oldValue, int newValue) 以 int 值形式报告所有已注册侦听器的 bound indexed 属性更新。 |
void |
fireIndexedPropertyChange(String propertyName, int index, Object oldValue, Object newValue) 报告所有已注册侦听器的 bound indexed 属性更新。 |
void |
firePropertyChange(PropertyChangeEvent evt) 对所有已注册侦听器激发一个现有 PropertyChangeEvent。 |
void |
firePropertyChange(String propertyName, boolean oldValue, boolean newValue) 以 boolean 值形式报告所有已注册侦听器的 bound 属性更新。 |
void |
firePropertyChange(String propertyName, int oldValue, int newValue) 以 int 值形式报告所有已注册侦听器的 bound 属性更新。 |
void |
firePropertyChange(String propertyName, Object oldValue, Object newValue) 报告所有已注册侦听器的 bound 属性更新。 |
PropertyChangeListener[] |
getPropertyChangeListeners() 返回使用 addPropertyChangeListener() 添加到此 PropertyChangeSupport 对象中的所有侦听器组成的数组。 |
PropertyChangeListener[] |
getPropertyChangeListeners(String propertyName) 返回与指定属性相关联的所有侦听器的列表。 |
boolean |
hasListeners(String propertyName) 检查是否存在特定属性的任何侦听器,包括那些已在所有属性上注册的侦听器。 |
void |
removePropertyChangeListener(PropertyChangeListener listener) 从侦听器列表移除一个 PropertyChangeListener。 |
void |
removePropertyChangeListener(String propertyName, PropertyChangeListener listener) 为特定属性移除一个 PropertyChangeListener。 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
构造方法详细信息 |
---|
PropertyChangeSupport
public PropertyChangeSupport(Object sourceBean)
-
构造一个
PropertyChangeSupport
对象。- 参数:
-
sourceBean
- 作为所有事件的源提供的 bean。
方法详细信息 |
---|
addPropertyChangeListener
public void addPropertyChangeListener(PropertyChangeListener listener)
-
向侦听器列表添加一个 PropertyChangeListener。该侦听器是为所有属性注册的。同一侦听器对象可以被添加多次,并且它们被调用的次数与添加它们的次数相同。如果
listener
为 null,则不会抛出异常并且不执行操作。 -
-
- 参数:
-
listener
- 要添加的 PropertyChangeListener
removePropertyChangeListener
public void removePropertyChangeListener(PropertyChangeListener listener)
-
从侦听器列表移除一个 PropertyChangeListener。此方法移除一个为所有属性注册的 PropertyChangeListener。如果将
listener
多次添加到同一事件源,则在被移除之后,它至少将被通知一次。如果listener
为 null,或者从未被添加,则不会抛出异常并且不执行操作。 -
-
- 参数:
-
listener
- 要移除的 PropertyChangeListener
getPropertyChangeListeners
public PropertyChangeListener[] getPropertyChangeListeners()
-
返回使用 addPropertyChangeListener() 添加到此 PropertyChangeSupport 对象中的所有侦听器组成的数组。
如果已经使用指定属性添加一些侦听器,则返回的数组将是 PropertyChangeListeners 和
PropertyChangeListenerProxy
的混合物。如果调用方法对区别侦听器感兴趣,那么它必须测试每个元素,以查看该元素是否是一个PropertyChangeListenerProxy
,然后执行强制转换并检查该参数。PropertyChangeListener[] listeners = bean.getPropertyChangeListeners(); for (int i = 0; i < listeners.length; i++) { if (listeners[i] instanceof PropertyChangeListenerProxy) { PropertyChangeListenerProxy proxy = (PropertyChangeListenerProxy)listeners[i]; if (proxy.getPropertyName().equals("foo")) { // proxy is a PropertyChangeListener which was associated // with the property named "foo" } } }
-
-
- 返回:
-
添加的所有
PropertyChangeListeners
,如果没有添加侦听器,则返回一个空数组 - 从以下版本开始:
- 1.4
- 另请参见:
-
PropertyChangeListenerProxy
addPropertyChangeListener
public void addPropertyChangeListener(String propertyName, PropertyChangeListener listener)
-
为指定的属性向侦听器列表中添加一个 PropertyChangeListener。该侦听器只在调用 firePropertyChange 为特定属性命名时调用。可以多次添加同一侦听器对象。对于每个属性,该侦听器被调用的次数与为该属性添加此侦听器的次数相同。如果
propertyName
或listener
为 null,则不会抛出异常并且不执行操作。 -
-
- 参数:
-
propertyName
- 要侦听的属性的名称。 -
listener
- 要添加的 PropertyChangeListener
removePropertyChangeListener
public void removePropertyChangeListener(String propertyName, PropertyChangeListener listener)
-
为特定属性移除一个 PropertyChangeListener。如果将
listener
多次添加到指定属性的同一事件源,则在被移除之后,它至少将被通知一次。如果propertyName
为 null,则不会抛出异常并且不执行操作。如果listener
为 null,或者从不为指定属性添加 pcl,则不抛出异常并不执行任何操作。 -
-
- 参数:
-
propertyName
- 已被侦听的属性的名称。 -
listener
- 要移除的 PropertyChangeListener
getPropertyChangeListeners
public PropertyChangeListener[] getPropertyChangeListeners(String propertyName)
- 返回与指定属性相关联的所有侦听器的列表。
-
-
- 参数:
-
propertyName
- 将被侦听的属性的名称 - 返回:
-
与指定属性相关联的所有
PropertyChangeListeners
。如果没有添加这样的侦听器,或者如果propertyName
为 null,则返回一个空数组。
firePropertyChange
public void firePropertyChange(String propertyName, Object oldValue, Object newValue)
- 报告所有已注册侦听器的 bound 属性更新。如果新属性和旧属性相同并且是非 null 的,则不会触发事件。
-
-
- 参数:
-
propertyName
- 被更改属性的编程名称。 -
oldValue
- 属性的旧值。 -
newValue
- 属性的新值。