事件调度线程实际上做了什么?

时间:2013-07-21 13:09:22

标签: java multithreading swing event-handling

我已经阅读了一条声明“事件调度线程实际上做的是运行操作系统级别的消息循环以通知UI事件,然后将这些事件分派给适当的Swing组件。”

如果此语句为真,则表示当单击框架中的按钮时,该事件将转到正在轮询事件的OS,然后将事件分派给相应的侦听器。 在OS端或java应用程序端管理它的事件队列怎么样?

1 个答案:

答案 0 :(得分:2)

如果“操作系统级别”表示某种神奇的本机操作系统交互,则该语句不正确。 EDT只是一个普通的线程。本机代码从OS接收事件,并在EDT上调用处理程序。鼠标点击本身当然必须通过JVM外部的软件进行通信,但对于Swing按钮,无论如何,“按钮”的想法完全保留在JVM中。