Java EventQueue. Когда я должен рассмотреть возможность его использования? - PullRequest
6 голосов
/ 24 февраля 2011

Я сейчас смотрю на класс EventQueue на веб-сайте Oracle: http://download.oracle.com/javase/1.4.2/docs/api/java/awt/EventQueue.html Но я не уверен, когда мне следует его использовать?Должен ли я использовать его, если в моем классе есть слушатели для двух или более событий?

Ответы [ 3 ]

6 голосов
/ 24 февраля 2011

Я никогда не использовал его за 14 лет программирования на Java.

6 голосов
/ 24 февраля 2011

Обычно вам не нужно отправлять какие-либо события в EventQueue, все это происходит «автоматически», когда пользователь выполняет свои действия (например, щелчки мыши и т. Д.) Или когда система считает, что ваше окно необходимо перекрасить.

Я регулярно использую только два метода: EventQueue.invokeLater и EventQueue.invokeAndWait() (реже).Используйте один из них, если вы выполняете какое-то действие за пределами EDT (потока отправки событий), а затем хотите внести некоторые изменения в графический интерфейс (например, добавить или удалить компонент в / из контейнера), поскольку такие действия должны выполняться только вEDT.

1 голос
/ 24 февраля 2011

AWT использует их, чтобы позаботиться о вашем графическом интерфейсе.Обычно вы не будете использовать их, если вы не строите какой-либо графический движок поверх AWT.Как сказал Пауло, есть такой важный метод invokeLater, но обычно вы можете добиться того же эффекта, используя SwingUtilities.invokeLater, этот способ, кажется, используется гораздо чаще.

...