JavaTM Platform
Standard Ed. 6

java.beans
类 VetoableChangeSupport

java.lang.Object
  继承者 java.beans.VetoableChangeSupport
所有已实现的接口:
Serializable

public class VetoableChangeSupport
     
extends Object
implements Serializable

这是一个实用工具类,支持约束 (constrained) 属性的 bean 可以使用此类。可以使用此类的实例作为 bean 的成员字段,并将各种工作委托给它。 此类是可序列化的。在对它进行序列化时,它将保存(并恢复)本身可序列化的所有侦听器。在序列化期间,将跳过所有不可序列化的侦听器。

另请参见:
序列化表格

构造方法摘要
VetoableChangeSupport(Object sourceBean)
          构造一个 VetoableChangeSupport 对象。
 
方法摘要
 void addVetoableChangeListener(String propertyName, VetoableChangeListener listener)
          为特定属性添加一个 VetoableChangeListener。
 void addVetoableChangeListener(VetoableChangeListener listener)
          向侦听器列表添加一个 VetoableListener。
 void fireVetoableChange(PropertyChangeEvent evt)
          对所有已注册侦听器激发一个 vetoable 属性更新。
 void fireVetoableChange(String propertyName, boolean oldValue, boolean newValue)
          向所有已注册的侦听器报告一个 boolean vetoable 属性更新。
 void fireVetoableChange(String propertyName, int oldValue, int newValue)
          向所有已注册的侦听器报告一个 int vetoable 属性更新。
 void fireVetoableChange(String propertyName, Object oldValue, Object newValue)
          向所有已注册的侦听器报告 vetoable 属性更新。
 VetoableChangeListener[] getVetoableChangeListeners()
          返回 VetoableChangeListener 的列表。
 VetoableChangeListener[] getVetoableChangeListeners(String propertyName)
          返回与指定属性相关联的所有侦听器组成的数组。
 boolean hasListeners(String propertyName)
          检查是否存在特定属性的侦听器,包括那些已在所有属性上注册的侦听器。
 void removeVetoableChangeListener(String propertyName, VetoableChangeListener listener)
          为特定属性移除一个 VetoableChangeListener。
 void removeVetoableChangeListener(VetoableChangeListener listener)
          从侦听器列表移除一个 VetoableChangeListener。
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

VetoableChangeSupport

public VetoableChangeSupport(Object sourceBean)
构造一个 VetoableChangeSupport 对象。

参数:
sourceBean - 作为所有事件的源提供的 bean。
方法详细信息

addVetoableChangeListener

public void addVetoableChangeListener(VetoableChangeListener listener)
向侦听器列表添加一个 VetoableListener。该侦听器是为所有属性注册的。同一侦听器对象可以被添加多次,并且它们被调用的次数将与添加它们的次数相同。如果 listener 为 null,则不会抛出任何异常并且不执行任何操作。

参数:
listener - 要添加的 VetoableChangeListener

removeVetoableChangeListener

public void removeVetoableChangeListener(VetoableChangeListener listener)
从侦听器列表移除一个 VetoableChangeListener。此方法移除了一个为所有属性注册的 VetoableChangeListener。如果将 listener 多次添加到同一事件源,则在被移除之后,它获得的通知将减少一次。如果 listener 为 null,或者从未被添加,则不会抛出任何异常并且不执行任何操作。

参数:
listener - 要移除的 VetoableChangeListener

getVetoableChangeListeners

public VetoableChangeListener[] getVetoableChangeListeners()
返回 VetoableChangeListener 的列表。如果已添加指定 vetoable 更改侦听器,则将返回 VetoableChangeListenerProxy 包装器

返回:
如果已添加指定的属性更改侦听器,则返回 VetoableChangeListener 和 VetoableChangeListenerProxy 的列表,。
从以下版本开始:
1.4

addVetoableChangeListener

public void addVetoableChangeListener(String propertyName,
                                      VetoableChangeListener listener)
为特定属性添加一个 VetoableChangeListener。该侦听器只在调用 fireVetoableChange 为特定属性命名时调用。可以多次添加同一侦听器对象。对于每个属性,该侦听器被调用的次数与为该属性添加此侦听器的次数相同。如果 propertyNamelistener 为 null,则不会抛出异常并且不执行操作。

参数:
propertyName - 要侦听的属性的名称。
listener - 要添加的 VetoableChangeListener

removeVetoableChangeListener

public void removeVetoableChangeListener(String propertyName,
                                         VetoableChangeListener listener)
为特定属性移除一个 VetoableChangeListener。如果将 listener 多次添加到指定属性的同一事件源,则在被移除之后,它获得的通知将减少一次。如果 propertyName 为 null,则不会抛出任何异常并且不执行任何操作。如果 listener 为 null,或者从不为指定属性添加了侦听器,则不抛出任何异常并且不执行任何操作。

参数:
propertyName - 已被侦听的属性的名称。
listener - 要移除的 VetoableChangeListener

getVetoableChangeListeners

public VetoableChangeListener[] getVetoableChangeListeners(String propertyName)
返回与指定属性相关联的所有侦听器组成的数组。

参数:
propertyName - 将被侦听的属性的名称
返回:
与指定属性相关联的所有 VetoableChangeListener。如果没有添加此类侦听器,或者 propertyName 为 null,则返回一个空数组。
从以下版本开始:
1.4

fireVetoableChange

public void fireVetoableChange(String propertyName,
                               Object oldValue,
                               Object newValue)
                        throws PropertyVetoException
向所有已注册的侦听器报告 vetoable 属性更新。如果任何人禁止更改,则触发一个新的事件,该事件将每个人的属性还原为旧值,然后再次抛出 PropertyVetoException。

如果新属性和旧属性相等并且是非 null 的,则不会触发事件。

参数:
propertyName - 将更改属性的编程名称。
oldValue - 属性的旧值。
newValue - 属性的新值。
抛出:
PropertyVetoException - 如果接收方希望回滚属性更改。

fireVetoableChange

public void fireVetoableChange(String propertyName,
                               int oldValue,
                               int newValue)
                        throws PropertyVetoException
向所有已注册的侦听器报告一个 int vetoable 属性更新。如果新属性和旧属性相等,则不会触发事件。

这只是一个用来包装获取 Object 值的更一般 fireVetoableChange 方法的便捷包装器。

参数:
propertyName - 将更改属性的编程名称。
oldValue - 属性的旧值。
newValue - 属性的新值。
抛出:
PropertyVetoException

fireVetoableChange

public void fireVetoableChange(String propertyName,
                               boolean oldValue,
                               boolean newValue)
                        throws PropertyVetoException
向所有已注册的侦听器报告一个 boolean vetoable 属性更新。如果新属性和旧属性相等,则不会触发事件。

这只是一个用来包装获取 Object 值的更一般 fireVetoableChange 方法的便捷包装器。

参数:
propertyName - 将更改属性的编程名称。
oldValue - 属性的旧值。
newValue - 属性的新值。
抛出:
PropertyVetoException

fireVetoableChange

public void fireVetoableChange(PropertyChangeEvent evt)
                        throws PropertyVetoException
对所有已注册侦听器激发一个 vetoable 属性更新。如果任何人禁止更改,则触发一个新的事件,该事件将每个人的属性还原为旧值,然后再次抛出 PropertyVetoException。

如果新属性和旧属性相等并且是非 null 的,则不会触发事件。

参数:
evt - 要激发的 PropertyChangeEvent。
抛出:
PropertyVetoException - 如果接收方希望回滚属性更改。

hasListeners

public boolean hasListeners(String propertyName)
检查是否存在特定属性的侦听器,包括那些已在所有属性上注册的侦听器。如果 propertyName 为 null,则只检查所有属性上注册的侦听器。

参数:
propertyName - 属性名。
返回:
如果存在给定属性的一个或多个侦听器,则返回 true

JavaTM Platform
Standard Ed. 6

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策