Как работают события в Java Swing? - PullRequest
6 голосов
/ 27 октября 2008

Как работает создание и обработка событий в Java Swing?

Ответы [ 3 ]

10 голосов
/ 27 октября 2008

Механизм событий Java на самом деле является реализацией шаблона проектирования Observer. Я предлагаю вам немного почитать шаблон наблюдателя, это даст вам глубокое понимание того, как работает механизм событий в Java.

См. Образец наблюдателя в Википедии

6 голосов
/ 27 октября 2008

Обычно события обрабатываются путем регистрации функции обратного вызова в классе, который вызовет событие. Когда событие происходит, этот класс вызывает функцию обратного вызова.

Вы найдете много примеров из свинга. Вот пример без свинга из приложения чата, который я сделал некоторое время назад

Это была библиотека, которая позволяла разработчику встраивать возможности чата в свои приложения. Класс ChatClient имеет член типа IMessageListener

IMessageListener listener;

После создания объекта для класса ChatClient пользователь вызовет setListener для объекта. (Может быть addListerer для нескольких слушателей)

public void setListener(IMessageListener listener) {
    this.listener = listener;
}

А в методе библиотеки при получении сообщения я бы вызвал метод getMessage для этого объекта слушателя

Это был базовый пример. Более сложные библиотеки будут использовать более сложные методы, такие как реализация очередей событий, многопоточность, параллелизм и т. Д.

Редактировать: И да. это действительно модель наблюдателя

0 голосов
/ 27 октября 2008

Здесь есть учебник по обработке эвентов: http://java.sun.com/docs/books/tutorial/uiswing/events/index.html

Речь идет о свинге. Если это не сработает, может быть, вы могли бы быть более конкретным?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...