JavaTM Platform
Standard Ed. 6

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 が 2 回以上追加された場合は、削除されたあとに、追加された回数よりも 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 が 2 回以上追加された場合は、削除されたあとに、追加された回数よりも 1 回少ない通知が行われます。propertyName が null の場合は、例外はスローされず、何も処理は行われません。listener が null の場合、または指定されたプロパティーに追加されなかった場合は、例外はスローされず、何も処理は行われません。

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

getPropertyChangeListeners

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

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

firePropertyChange

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

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

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

firePropertyChange

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

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

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

firePropertyChange

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

このメソッドは、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 でない場合、イベントはトリガーされません。

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

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

fireIndexedPropertyChange

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

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

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

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

fireIndexedPropertyChange

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

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

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

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

hasListeners

public boolean hasListeners(String propertyName)
特定のプロパティーにリスナーがあるかどうかを判定します。あらゆるプロパティーに登録されたリスナーが含まれます。propertyName が null の場合は、すべてのプロパティーで登録されたリスナーのチェックだけが行われます。

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

JavaTM Platform
Standard Ed. 6

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

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