Класс 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
public String toString()
- Переопределяет:
-
toStringв классеObject - Возвращает:
- строковое представление объекта.
© 1993, 2021, 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://docs.oracle.com/en/java/javase/17/docs/api/java.desktop/javax/swing/event/EventListenerList.html