Может ли кто-нибудь объяснить, для чего объект EventQueue
служит в Java Swing?
Я больше всего запутался в том, как применяются события очереди. Возможно, было бы полезно обеспечить общее использование очереди событий.
Может ли кто-нибудь объяснить, для чего объект EventQueue
служит в Java Swing?
Я больше всего запутался в том, как применяются события очереди. Возможно, было бы полезно обеспечить общее использование очереди событий.
Поскольку Swing является однопоточным, он использует EventQueue
для хранения экземпляров Runnable
, чтобы их можно было отправлять последовательно и в заказ размещен, созданный системой или вашей программой. Использование sine qua non заключается в публикации события через EventQueue.invokeLater()
, что гарантирует, что объекты Swing GUI создаются и управляются только в поток отправки событий. Вы можете заменить AWT EventQueue
своей собственной реализацией, как показано здесь, чтобы видеть события по мере их размещения в очереди. .
EventQueue
взят из AWT. - person Andrew Thompson   schedule 28.04.2016EventQueue
.EventQueue
— это очередь событий, которая обрабатывается потоком диспетчеризации событий. Эти события доставляются компонентам и заинтересованным сторонам, чтобы уведомить о чем-то происходящем, например, о щелчке мыши или событии клавиатуры.EventQueue
обеспечивает концепцию порядка, при котором события могут происходить только линейным образом, одно за другим и, как правило, в упорядоченном по времени порядке (поэтому мое нажатие клавиши не может поставить на кон событие моей мыши, если я сначала переместил мышь) - person MadProgrammer   schedule 28.04.2016