JavaTM 2
Platform
Std. Ed. v1.4.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 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 - 追加される PropertyChangeListener

removePropertyChangeListener

public void removePropertyChangeListener(PropertyChangeListener listener)
PropertyChangeListener をリスナーリストから削除します。こうすることにより、すべてのプロパティに対して登録された PropertyChangeListener が削除されます。

パラメータ:
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 - 追加する PropertyChangeListener

removePropertyChangeListener

public void removePropertyChangeListener(String propertyName,
                                         PropertyChangeListener listener)
特定のプロパティの PropertyChangeListener を削除します。

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

getPropertyChangeListeners

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

戻り値:
指定されたプロパティに関連付けられているすべての PropertyChangeListeners。リスナーが追加されていない場合は空の配列

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 オブジェクト

hasListeners

public boolean hasListeners(String propertyName)
特定のプロパティのリスナーがあるかどうかを判定します。

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

JavaTM 2
Platform
Std. Ed. v1.4.0

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

Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.