JavaTM 2 Platform
Standard Ed. 5.0

java.beans
クラス PropertyChangeSupport

java.lang.Object
  上位を拡張 java.beans.PropertyChangeSupport
すべての実装されたインタフェース:
Serializable
直系の既知のサブクラス:
SwingPropertyChangeSupport

public class PropertyChangeSupport
extends Object
implements Serializable

バウンドプロパティをサポートする 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 バウンドインデックス付きプロパティの更新を通知します。
 void fireIndexedPropertyChange(String propertyName, int index, int oldValue, int newValue)
          登録されているリスナーに、int バウンドインデックス付きプロパティの更新を通知します。
 void fireIndexedPropertyChange(String propertyName, int index, Object oldValue, Object newValue)
          登録されているリスナーに、バウンドインデックス付きプロパティの更新を通知します。
 void firePropertyChange(PropertyChangeEvent evt)
          登録されているリスナーに、既存の PropertyChangeEvent をトリガします。
 void firePropertyChange(String propertyName, boolean oldValue, boolean newValue)
          登録されているすべてのリスナーに boolean バウンドプロパティの更新を通知します。
 void firePropertyChange(String propertyName, int oldValue, int newValue)
          登録されているすべてのリスナーに int バウンドプロパティの更新を通知します。
 void firePropertyChange(String propertyName, Object oldValue, Object newValue)
          登録されているリスナーに、バウンドプロパティの更新を通知します。
 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 が同じイベントソースに対して複数回追加された場合は、削除されたあとに 1 回分少なく通知されます。listener が null の場合、または一度も追加されなかった場合は、例外はスローされず、何も処理は行われません。

パラメータ:
listener - 削除する PropertyChangeListener

getPropertyChangeListeners

public PropertyChangeListener[] getPropertyChangeListeners()
addPropertyChangeListener() によって PropertyChangeSupport オブジェクトに追加されたすべてのリスナーの配列を返します。

指定されたプロパティによって追加されたリスナーがある場合、PropertyChangeListener と 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 が指定のプロパティの同じイベントソースに対して複数回追加された場合は、削除されたあとに 1 回分少なく通知されます。propertyName が null の場合は、例外はスローされず、何も処理は行われません。listener が null の場合、または指定のプロパティに対して一度も追加されなかった場合は、例外はスローされず、何も処理は行われません。

パラメータ:
propertyName - 待機していたプロパティの名前
listener - 削除する PropertyChangeListener

getPropertyChangeListeners

public PropertyChangeListener[] getPropertyChangeListeners(String propertyName)
指定されたプロパティに関連付けられたすべてのリスナーの配列を返します。

パラメータ:
propertyName - 待機しているプロパティ名
戻り値:
名前付きプロパティに関連付けられたすべての PropertyChangeListeners。このようなリスナーが追加されていない場合、または propertyName が null の場合は空の配列が返される

firePropertyChange

public void firePropertyChange(String propertyName,
                               Object oldValue,
                               Object newValue)
登録されているリスナーに、バウンドプロパティの更新を通知します。以前の値と新しい値が等しく、null でない場合、イベントはトリガされません。

パラメータ:
propertyName - 変更されたプロパティのプログラム上の名前
oldValue - プロパティの古い値
newValue - プロパティの新しい値

firePropertyChange

public void firePropertyChange(String propertyName,
                               int oldValue,
                               int newValue)
登録されているすべてのリスナーに int バウンドプロパティの更新を通知します。古い値と新しい値が等しく、null でない場合、イベントはトリガされません。

このメソッドは、Object 値をとる、より一般的な firePropertyChange メソッドの簡易ラッパーです。

パラメータ:
propertyName - 変更されたプロパティのプログラム上の名前
oldValue - プロパティの古い値
newValue - プロパティの新しい値

firePropertyChange

public void firePropertyChange(String propertyName,
                               boolean oldValue,
                               boolean newValue)
登録されているすべてのリスナーに boolean バウンドプロパティの更新を通知します。古い値と新しい値が等しく、null でない場合、イベントはトリガされません。

このメソッドは、Object 値をとる、より一般的な firePropertyChange メソッドの簡易ラッパーです。

パラメータ:
propertyName - 変更されたプロパティのプログラム上の名前
oldValue - プロパティの古い値
newValue - プロパティの新しい値

firePropertyChange

public void firePropertyChange(PropertyChangeEvent evt)
登録されているリスナーに、既存の PropertyChangeEvent をトリガします。指定されたイベントの以前の値と新しい値が等しく、null でない場合、イベントはトリガされません。

パラメータ:
evt - PropertyChangeEvent オブジェクト

fireIndexedPropertyChange

public void fireIndexedPropertyChange(String propertyName,
                                      int index,
                                      Object oldValue,
                                      Object newValue)
登録されているリスナーに、バウンドインデックス付きプロパティの更新を通知します。

古い値と新しい値が等しく、null でない場合、イベントはトリガされません。

パラメータ:
propertyName - 変更されたプロパティのプログラム上の名前
index - 変更されたプロパティ要素のインデックス
oldValue - プロパティの古い値
newValue - プロパティの新しい値
導入されたバージョン:
1.5

fireIndexedPropertyChange

public void fireIndexedPropertyChange(String propertyName,
                                      int index,
                                      int oldValue,
                                      int newValue)
登録されているリスナーに、int バウンドインデックス付きプロパティの更新を通知します。

古い値と新しい値が等しく、null でない場合、イベントはトリガされません。

このメソッドは、Object 値をとる、より一般的な fireIndexedPropertyChange メソッドの簡易ラッパーです。

パラメータ:
propertyName - 変更されたプロパティのプログラム上の名前
index - 変更されたプロパティ要素のインデックス
oldValue - プロパティの古い値
newValue - プロパティの新しい値
導入されたバージョン:
1.5

fireIndexedPropertyChange

public void fireIndexedPropertyChange(String propertyName,
                                      int index,
                                      boolean oldValue,
                                      boolean newValue)
登録されているリスナーに、boolean バウンドインデックス付きプロパティの更新を通知します。

古い値と新しい値が等しく、null でない場合、イベントはトリガされません。

このメソッドは、Object 値をとる、より一般的な fireIndexedPropertyChange メソッドの簡易ラッパーです。

パラメータ:
propertyName - 変更されたプロパティのプログラム上の名前
index - 変更されたプロパティ要素のインデックス
oldValue - プロパティの古い値
newValue - プロパティの新しい値
導入されたバージョン:
1.5

hasListeners

public boolean hasListeners(String propertyName)
すべてのプロパティに登録されたリスナーも含め、特定のプロパティにリスナーがあるかどうかを判定します。propertyName が null の場合は、すべてのプロパティに登録されたリスナーのみを確認します。

パラメータ:
propertyName - プロパティ名
戻り値:
指定したプロパティに 1 つ以上のリスナーがある場合は true

JavaTM 2 Platform
Standard Ed. 5.0

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java 2 SDK SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。