SwingWorker可以帮助我们在后台执行耗时的任务,而避免阻塞我们的应用程序,以让用户感觉不爽。 SwingWorker有2个参数T , V T:为最终结果集 【<T> the result type returned by this SwingWorker's doInBackground and get methods】,由文档的介绍可以知道这个结果可以被doInBackground和get方法返回。 V:为中间结果集【<V> the type used for carrying out intermediate results by this SwingWorker's publish and process methods】 还要了解的是SwingWorker的几个流程: doInBackground是工作线程,他可以明确调用publich方法(注意publish方法只在SwingWorker类中实现),以发送中间结果V,然后这个中间结果有被发送到在EDT(事件派发线程)中的 process方法中进行处理。 当doInBackground处理完后,会自动调用done方法,由T类型的描述那里可以知道,在这个方法中可以调用get方法获取最终结果集,多好玩啊,哈哈。 现在拿一段代码来分析下吧: import java.awt.Image; import java.io.File; import java.util.ArrayList; import java.util.List; import javax.imageio.ImageIO; import javax.swing.ImageIcon; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JTe