Java EventQueue. Когда я должен рассмотреть возможность его использования?

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

3 ответа

Решение

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

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

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

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

Другие вопросы по тегам