我应该在 EDT 中创建的线程中调用 InvokeLater 吗?

Should i call InvokeLater inside a thread created in the EDT?

如果我在 edt 创建的线程中修改我的图形用户界面会怎样?

当我说 "created in the edt" 时,我实际上是在说线程声明及其开始位于代码块中,代码块由以下代码包围:

SwingUtilities.invokeLater(new Runnable(){

   public void run(){

      Thread t= new Thread(new Runnable(){

         public void run(){

            txtField.setText("setting...");
         }
      });

      t.start();
   }
}

这会修改我的图形用户界面而没有副作用吗?或者我应该在 Thread "T"?

中再次调用 invokeLater

在 EDT 中是否实例化和 运行 线程并不重要。它将是一个新线程,运行ning 独立于 EDT,因此从中修改 GUI 是不安全的。所有 Swing 修改都必须使用 invokeLater().

完成