Swing - замена для Qt сигнала / слотов - PullRequest
6 голосов
/ 01 июня 2011

В графических интерфейсах Qt очень удобно использовать сигналы и слоты - это разъединяет передачу событий. Когда я создаю какой-то виджет, который генерирует сигнал, мне не нужно заранее знать, кто может его получить, и позже с помощью connect я указываю соединения.

Что такое параллель в Java / Swing? Можете ли вы указать хорошие ресурсы по этому вопросу?

Ответы [ 2 ]

5 голосов
/ 01 июня 2011

Если ни одна из существующих реализаций EventListener не соответствует вашим требованиям, вы можете создать собственное событие. Каждое JComponent содержит поле типа EventListenerList. Вы можете использовать подход, описанный в EventListenerList API, чтобы включить ваш собственный подкласс JComponent для запуска вашего пользовательского события.

Что касается механизма сигнала / слота, у Swing есть несколько способов реализовать схему наблюдателя , обозначенную здесь .

1 голос
/ 01 июня 2011

В этом руководстве по прослушиванию событий рассматриваются основы обработки событий с помощью прослушивателей.

Подключение слота для сигнала аналогично добавлению EventListener к объекту, генерирующему события.

...