Класс EventListenerList
- Все реализованные интерфейсы:
Serializable
public class EventListenerList extends Object implements Serializable
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 должен существовать один метод fire. Предупреждение: сериализованные объекты этого класса будут несовместимы с будущими выпусками Swing. Текущая поддержка сериализации подходит для кратковременного хранения или RMI между приложениями, работающими с одной и той же версией Swing. Начиная с версии 1.4 в пакет java.beans добавлена поддержка долговременного хранения всех JavaBeans. См. XMLEncoder.
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
protected Object[] |
listenerList |
Список пар ListenerType — слушатель |
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
EventListenerList() |
Создаёт EventListenerList. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
<T extends EventListener> |
add |
Добавляет слушателя в качестве слушателя указанного типа. |
int |
getListenerCount() |
Возвращает общее количество слушателей в этом списке. |
int |
getListenerCount |
Возвращает общее количество слушателей указанного типа в этом списке. |
Object[] |
getListenerList() |
Возвращает список слушателей событий в виде массива пар ListenerType — слушатель. |
<T extends EventListener> |
getListeners |
Возвращает массив всех слушателей указанного типа. |
<T extends EventListener> |
remove |
Удаляет слушателя из числа слушателей указанного типа. |
String |
toString() |
Возвращает строковое представление EventListenerList. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создаёт и возвращает копию этого объекта. |
boolean |
equals |
Проверяет, «равен ли» этот объект другому объекту. |
protected void |
finalize() |
Устарело, будет удалено: этот элемент API может быть удалён в будущей версии. Финализация объявлена устаревшей и будет удалена в одном из следующих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
int |
hashCode() |
Возвращает хеш-код этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
final void |
wait() |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо истечения заданного промежутка реального времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо истечения заданного промежутка реального времени. |
Подробное описание полей
listenerList
protected transient volatile Object[] listenerList
Подробное описание конструкторов
EventListenerList
public EventListenerList()
EventListenerList.Подробное описание методов
getListenerList
public Object[] getListenerList()
- Возвращает:
- массив пар ListenerType — слушатель
getListeners
public <T extends EventListener> T[] getListeners(Class<T> t)
- Параметры типа:
T— типEventListenerдля поиска- Параметры:
-
t— тип возвращаемых классовEventListener - Возвращает:
- всех слушателей указанного типа.
- Выбрасывает:
-
ClassCastException— если указанный класс не является подтипом EventListener - Начиная с версии:
- 1.3
getListenerCount
public int getListenerCount()
- Возвращает:
- целое число — общее количество слушателей
getListenerCount
public int getListenerCount(Class<?> t)
- Параметры:
-
t— тип слушателей для подсчёта - Возвращает:
- количество слушателей типа
t
add
public <T extends EventListener> void add(Class<T> t, T l)
- Параметры типа:
T— типEventListenerдля добавления- Параметры:
-
t— тип классаEventListenerдля добавления -
l— добавляемый слушатель
remove
public <T extends EventListener> void remove(Class<T> t, T l)
- Параметры типа:
T— типEventListener- Параметры:
-
t— тип удаляемого слушателя -
l— удаляемый слушатель
toString
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.