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 의 경우는, 예외는 throw 되지 않고, 아무것도 처리는 행해지지 않습니다.

파라미터:
listener - 추가하는 PropertyChangeListener

removePropertyChangeListener

public void removePropertyChangeListener(PropertyChangeListener  listener)
PropertyChangeListener 를 청취자 리스트로부터 삭제합니다. 모든 프로퍼티으로 등록된 PropertyChangeListener 를 삭제합니다. 같은 이벤트 소스에 listener 가 2 회 이상 추가되었을 경우는, 삭제된 뒤에, 추가된 회수보다 1 회 적은 통지를 합니다. listener 가 null 의 경우, 또는 추가되지 않았던 경우는, 예외는 throw 되지 않고, 아무것도 처리는 행해지지 않습니다.

파라미터:
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. 청취자가 추가되어 있지 않은 경우는 빈 상태(empty)의 배열
도입된 버젼:
1.4
관련 항목:
PropertyChangeListenerProxy

addPropertyChangeListener

public void addPropertyChangeListener(String  propertyName,
                                      PropertyChangeListener  listener)
특정의 프로퍼티의 PropertyChangeListener 를 추가합니다. 청취자가 불려 가는 것은, firePropertyChange 의 호출에 의해, 그 특정의 프로퍼티이 지정되었을 때 뿐입니다. 같은 청취자 객체를 여러 차례 추가할 수 있습니다. 각 프로퍼티에서는, 청취자가 그 프로퍼티에 추가된 회수만 청취자가 불려 갑니다. propertyName 또는 listener 가 null 의 경우는, 예외는 throw 되지 않고, 아무것도 처리는 행해지지 않습니다.

파라미터:
propertyName - 대기하고 있는 프로퍼티의 이름
listener - 추가하는 PropertyChangeListener

removePropertyChangeListener

public void removePropertyChangeListener(String  propertyName,
                                         PropertyChangeListener  listener)
특정의 프로퍼티의 PropertyChangeListener 를 삭제합니다. 지정한 프로퍼티의 같은 이벤트 소스에 listener 가 2 회 이상 추가되었을 경우는, 삭제된 뒤에, 추가된 회수보다 1 회 적은 통지를 합니다. propertyName 가 null 의 경우는, 예외는 throw 되지 않고, 아무것도 처리는 행해지지 않습니다. listener 가 null 의 경우, 또는 지정된 프로퍼티에 추가되지 않았던 경우는, 예외는 throw 되지 않고, 아무것도 처리는 행해지지 않습니다.

파라미터:
propertyName - 대기하고 있던 프로퍼티의 이름
listener - 삭제하는 PropertyChangeListener

getPropertyChangeListeners

public PropertyChangeListener [] getPropertyChangeListeners(String  propertyName)
지정된 프로퍼티에 관련지을 수 있던 모든 청취자의 배열을 돌려줍니다.

파라미터:
propertyName - 대기하고 있는 프로퍼티의 이름
반환값:
이름 첨부 프로퍼티에 관련지을 수 있던 모든 PropertyChangeListeners. 이러한 청취자가 추가되어 있지 않은 경우, 또는 propertyName 가 null 의 경우는 빈 상태(empty)의 배열이 반환되는
도입된 버젼:
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 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.