|
JavaTM Platform Standard Ed. 6 |
|||||||||
전의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세 : 필드 | 생성자 | 메소드 |
java.lang.Objectjavax.swing.event.EventListenerList
public class EventListenerList
EventListener 의 리스트를 포함하는 클래스입니다. 1 개의 인스턴스를 사용해, 이 리스트를 사용하고 있는 인스턴스의 (모든 타입의) 모든 청취자를 포함할 수 있습니다. 타입 보증된 API (JavaBeans 스펙에의 준거가 바람직하다) 및 이벤트 통지 메소드를 리스트내의 적절한 EventListener 에 송신하는 메소드의 제공은, EventListenerList 를 사용하고 있는 클래스가 실시합니다. 이 클래스가 제공하는 주된 이점은, 청취자가 없는 경우에는 비교적 싸게 들어, 이벤트 청취자의 리스트를 1 개의 장소에서 직렬화해, 올바르게 사용했을 경우에는 어느 정도의 multi-thread에 대한 안전성이 제공되는 것입니다. 사용예:예를 들어, FooEvent 를 송출하는 클래스를 정의해, 그 클래스의 사용자가 FooListener 를 등록해, FooEvent 가 발생하면(자) 통지를 받을 수가 있도록(듯이) 하는 경우는, 클래스의 정의에 다음의 코드를 추가할 필요가 있습니다.
EventListenerList listenerList = new EventListenerList(); FooEvent fooEvent = null; public void addFooListener(FooListener l) { listenerList.add(FooListener.class, l); } public void removeFooListener(FooListener l) { listenerList.remove(FooListener.class, l); } // Notify all listeners that have registered interest for // notification on this event type.The event instance // is lazily created using the parameters passed into // the fire method. protected void fireFooXXX() { // Guaranteed to return a non-null array Object[] listeners = listenerList.getListenerList(); // Process the listeners last to first, notifying // those that are interested in this event for (int i = listeners.length-2; i>=0; i-=2) { if (listeners[i]==FooListener.class) { // Lazily create the event: if (fooEvent == null) fooEvent = new FooEvent(this); ((FooListener) listeners[i+1]). fooXXX(fooEvent); } } }foo 는 적절한 이름에, fireFooXxx 는 적절한 메소드명에 각각 변경할 필요가 있습니다. FooListener 인터페이스의 통지 메소드 마다 기동 메소드가 필요합니다.
경고: 이 클래스의 직렬화 된 객체는, 향후의 Swing 릴리스와 호환은 아니게 될 예정입니다. 현재의 직렬화의 지원는, 단기간의 운용이나, 같은 버젼의 Swing 를 실행하는 어플리케이션간의 RMI 에 적절하고 있습니다. JDK Version 1.4 이후, 모든 JavaBeans™ 의 장기간의 운용 지원는,java.beans
패키지에 추가되고 있습니다. 자세한 것은,XMLEncoder
를 참조해 주세요.
필드의 개요 | |
---|---|
protected Object [] |
listenerList
|
생성자 의 개요 | |
---|---|
EventListenerList ()
|
메소드의 개요 | ||
---|---|---|
|
add (Class <T> t,
T l)
지정된 형태의 청취자로서 청취자를 추가합니다. |
|
int |
getListenerCount ()
이 청취자 리스트의 청취자의 총수를 돌려줍니다. |
|
int |
getListenerCount (Class <? > t)
이 청취자 리스트의, 지정된 형태의 청취자의 총수를 돌려줍니다. |
|
Object [] |
getListenerList ()
이벤트 청취자의 리스트를, 청취자와 청취자 타입의 페어의 배열로서 돌려줍니다. |
|
|
getListeners (Class <T> t)
지정된 형태의 모든 청취자의 배열을 돌려줍니다. |
|
|
remove (Class <T> t,
T l)
지정된 형태의 청취자로서 청취자를 삭제합니다. |
|
String |
toString ()
EventListenerList 의 캐릭터 라인 표현을 돌려줍니다. |
클래스 java.lang. Object 로부터 상속된 메소드 |
---|
clone , equals , finalize , getClass , hashCode , notify , notifyAll , wait , wait , wait |
필드의 상세 |
---|
protected transient Object [] listenerList
생성자 의 상세 |
---|
public EventListenerList()
메소드의 상세 |
---|
public Object [] getListenerList()
public <T extends EventListener > T[] getListeners(Class <T> t)
ClassCastException
- 지정된 클래스가 EventListener 에 할당할 수 없는 경우public int getListenerCount()
public int getListenerCount(Class <? > t)
public <T extends EventListener > void add(Class <T> t, T l)
t
- 추가되는 청취자의 형태l
- 추가되는 청취자public <T extends EventListener > void remove(Class <T> t, T l)
t
- 삭제되는 청취자의 형태l
- 삭제되는 청취자public String toString()
Object
내의 toString
|
JavaTM Platform Standard Ed. 6 |
|||||||||
전의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세 : 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.