Класс 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 — на соответствующее имя метода. Один метод fire должен существовать для каждого метода уведомления в интерфейсе FooListener. Предупреждение: Сериализованные объекты этого класса не будут совместимы с будущими выпусками Swing. Текущая поддержка сериализации подходит для краткосрочного хранения или RMI между приложениями, работающими на одной версии Swing. Начиная с версии 1.4, поддержка долгосрочного хранения всех JavaBeans была добавлена в пакет java.beans. См. XMLEncoder.
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
protected Object[] |
listenerList |
Список пар ListenerType - Listener |
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
EventListenerList() |
Конструирует EventListenerList. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
<T extends EventListener> |
add |
Добавляет слушателя как слушателя указанного типа. |
int |
getListenerCount() |
Возвращает общее количество слушателей для этого списка слушателей. |
int |
getListenerCount |
Возвращает общее количество слушателей указанного типа для этого списка слушателей. |
Object[] |
getListenerList() |
Возвращает список слушателей событий в виде массива пар ListenerType-listener. |
<T extends EventListener> |
getListeners |
Возвращает массив всех слушателей заданного типа. |
<T extends EventListener> |
remove |
Удаляет слушателя как слушателя указанного типа. |
String |
toString() |
Возвращает строковое представление EventListenerList. |
Подробное описание полей
listenerList
protected transient volatile Object[] listenerList
Подробное описание конструкторов
EventListenerList
public EventListenerList()
EventListenerList.Подробное описание методов
getListenerList
public Object[] getListenerList()
- Возвращает:
- массив пар ListenerType-listener
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.
https://download.java.net/java/early_access/jdk24/docs/api/java.desktop/javax/swing/event/EventListenerList.html