2010-03-18 18 views

Respuesta

8

SwingUtilities.invokeLater se utiliza si tiene algo que se debe ejecutar en el EDT.

Si tiene una tarea de ejecución prolongada, en su lugar necesita utilizar un SwingWorker, ya que no se ejecuta en el EDT y, por lo tanto, no causa que la GUI se congele mientras se ejecuta.

+0

gracias. esto es, en general, lo que pensé, pero necesitaba confi –

7

Parece que se quiere:

  • uso SwingWorker cuando es necesario controlar el estado de un proceso de fondo de larga duración

  • uso SwingUtilities.invokeLater si lo que desea es una tarea corta a ejecutar, pero no necesita comentarios sobre él. Algo así como un fuego y olvidar. Solo tenga en cuenta que se ejecutará en el subproceso de despacho del evento AWT, por lo que su aplicación no recibirá ningún evento mientras se ejecuta la tarea.