Общая идея:
- У вас есть коллекция слушателей.
- Если вам нужно уведомить слушателей (событие произошло), вы перебираете коллекцию слушателей и вызываете соответствующий метод для каждого слушателя (ActionListener в вашем случае).
Я не вижу объявлений ActionListener и ActionEvent. С вашим шаблоном ActionEvent, скорее всего, будет иметь своего рода поле состояния, которое представляет фактическое событие, поэтому он имеет конструктор, такой как public ActionEvent(int value)
или около того. Слушатель получает ActionEvent, заглядывает внутрь объекта ActionEvent и теперь выясняет, почему он был уведомлен.
EDIT
От ответа других людей я только что узнал, что ActionListener и ActionEvent являются классами AWT. Посмотрите на их документы по Java, остальная часть моего ответа должна быть действительной.
РЕДАКТИРОВАТЬ 2
Самый простой конструктор:
public ActionEvent(Object source, int id, String command);
source
- это объект, который вызвал событие, поэтому в вашем случае, скорее всего, кнопка. id
указывает тип события. Выберите из статических полей на ActionEvent
или AWTEvent
. Команда - это область, в которую вы можете поместить дополнительную информацию о событии.