JavaTM 2 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 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only