GUI显示在EDT上

时间:2013-07-23 13:27:11

标签: java swing awt event-dispatch-thread

我已阅读此声明“在EDT上显示GUI”。任何人都可以向我解释这个陈述,我知道事件监听器是在EDT上执行的,但是如何在EDT上显示GUI。

2 个答案:

答案 0 :(得分:2)

声明“GUI在EDT上显示”是不精确和误导的。实际情况是,GUI对象上的所有操作(包括其实例化)都必须在EDT上进行。由此可见,导致GUI元素显示在屏幕上的所有动作也发生在EDT上。

答案 1 :(得分:0)

美国东部时间对所有事情负责。它接受任何事件(鼠标/键盘点击等),然后根据事件调用任何操作。如果您希望在UI上执行任何操作(从代码中显示按钮等),EDT将再次负责在屏幕上显示它。

理想情况下,所有按钮初始化(UI动作等)都应由EDT完成,但不是强制性的(在Android中它是)。该文件说不执行冗长的任务是:正如所提到的,因为EDT处理所有事情,如果EDT忙于冗长的任务,那么任何鼠标点击等都无法通过EDT处理在UI体验中创建挂起