|
Spec-Zone .ru
спецификации, руководства, описания, API
|
Если Вы считали какой-либо компонент страницы с практическими рекомендациями, Вы, вероятно, уже знаете основы слушателей события.
Давайте смотреть на один из самых простых возможных примеров обработки событий. Это вызывают Устройством звуковой сигнализации, и это обладает кнопкой, которая подает звуковой сигнал, когда Вы щелкаете по этому.
Нажмите кнопку Launch, чтобы работать, Устройство звуковой сигнализации, используя Сеть Java™ Запускаются (). Альтернативно, чтобы скомпилировать и выполнить пример самостоятельно, консультируйтесь, пример индексируют.

Можно найти всю программу в
public class Beeper ... implements ActionListener {
...
//where initialization occurs:
button.addActionListener(this);
...
public void actionPerformed(ActionEvent e) {
...//Make a beep sound...
}
}
Beeper class реализует ActionListener интерфейс, который содержит один метод: actionPerformed. С тех пор Beeper реализации ActionListener, a Beeper объект может зарегистрироваться как слушатель для событий действия тот огонь кнопок. Однажды Beeper был зарегистрирован, используя Button addActionListener метод, Beeper's actionPerformed метод вызывают каждый раз, когда кнопка нажимается.
Модель событий, которую Вы видели в его самом простом в предыдущем примере, довольно мощна и гибка. Любое число объектов слушателя события может прислушаться ко всем видам событий от любого числа объектов источника события. Например, программа могла бы создать одного слушателя на источник события. Или у программы мог бы быть единственный слушатель для всех событий из всех источников. У программы может даже быть больше чем один слушатель для единственного вида события из единственного источника события.

Многократные слушатели могут зарегистрироваться, чтобы быть уведомленными относительно событий определенного типа из определенного источника. Кроме того, тот же самый слушатель может слушать уведомления от различных объектов.
Каждое событие представляется объектом, который дает информацию о событии и идентифицирует источник события. Источники событий часто являются компонентами или моделями, но другие виды объектов могут также быть источниками событий.
Всякий раз, когда Вы хотите обнаружить события от определенного компонента, сначала проверьте раздел с практическими рекомендациями на тот компонент. Список компонента разделы с практическими рекомендациями здесь. Разделы с практическими рекомендациями дают примеры обработки событий, о которых Вы, наиболее вероятно, будете заботиться. В том, Как Использовать Цветных Селекторов, например, Вы найдете, что пример записи слушателю изменения отслеживает, когда цвет изменится в цветном селекторе.
Следующий пример демонстрирует, что слушатели события могут быть зарегистрированы на многократных объектах и что то же самое событие может быть отправлено многократным слушателям. Пример содержит два источника событий (JButton экземпляры) и два слушателя события. Один из слушателей события (экземпляр class вызывают MultiListener) прислушивается к событиям от обеих кнопок. Когда это получает событие, это добавляет "команду действия события" (который устанавливается в текст на метке кнопки) к главной текстовой области. Второй слушатель события (экземпляр class вызывают Eavesdropper) прислушивается к событиям на только одной из кнопок. Когда это получает событие, это добавляет команду действия к нижней текстовой области.

MultiListener объект регистрируется, чтобы слушать эту кнопку.MultiListener возразите и Eavesdropper объект регистрируется, чтобы слушать эту кнопку.Можно найти всю программу в
public class MultiListener ... implements ActionListener {
...
//where initialization occurs:
button1.addActionListener(this);
button2.addActionListener(this);
button2.addActionListener(new Eavesdropper(bottomTextArea));
}
public void actionPerformed(ActionEvent e) {
topTextArea.append(e.getActionCommand() + newline);
}
}
class Eavesdropper implements ActionListener {
...
public void actionPerformed(ActionEvent e) {
myTextArea.append(e.getActionCommand() + newline);
}
}
В вышеупомянутом коде, обоих MultiListener и Eavesdropper реализуйте ActionListener интерфейс и регистр как слушатели действия, использующие JButton addActionListener метод. Реализации обоих классов actionPerformed метод подобен: они просто добавляют команду действия события к текстовой области.