我需要在单独的线程中运行Swing应用程序中的一些方法。使用SwingWorker和SwingUtilities.invokeLater有什么不同?我应该使用哪一个在Swing应用程序中运行线程?我在下面的教程中找不到确切的信息
http://java.sun.com/docs/books/tutorial/uiswing/concurrency/index.html
发布于 2010-03-19 01:15:40
如果您有一些东西必须在EDT中运行,则可以使用SwingUtilities.invokeLater。
如果您有一个长时间运行的任务,则需要使用SwingWorker,因为它不在EDT上运行,因此不会导致图形用户界面在运行时冻结。
发布于 2010-03-19 01:18:09
看起来你会想要:
SwingWorker如果您只想运行一个较短的任务但不需要对其进行反馈,请使用SwingUtilities.invokeLater。有点像一把火和遗忘的游戏。请记住,它将在AWT事件分派线程中运行,因此您的应用程序在任务运行时不会得到任何事件处理。https://stackoverflow.com/questions/2471905
复制相似问题