我做对了吗? EDT是GUI的主线程。要开始长时间操作,最好在新线程中运行它。那么为什么我们需要使用EventQueue呢?为什么我们不能像非Swing程序一样简单地创建和运行新线程?
答案 0 :(得分:1)
如果您在后台运行长时间运行的操作,则没有任何内容表明您需要使用EventQueue。这里队列的目的是利用如果您必须更新长时间运行过程完成的UI。
当流程完成后,您会在事件队列上放置某种可运行通知,以通知UI完成。
答案 1 :(得分:1)
不,EDT基本上是在主线程上运行的。你没有“移动”EDT。相反,如果你想在主线程上工作,而不是在EDT之外,你可以按照你的说法开始自己的线程。
看看SwingWorker。这是帮助实现这一目标的常用机制。