我们的Swing应用程序使用优秀的SwingWorker类在后台线程中执行一些耗时任务。但是,很多旧版Mac仅支持Java 5,因此我们希望将应用程序编译为5而不是6。由于SwingWorker是在Java 6中引入的,因此我们不能再使用它。
如果我只需要在后台做一些事情,然后在GUI中进行通信,下面的方法是否可行?或者我是否遗漏了什么重要的东西?
如果我只需要在后台做一些事情,然后在GUI中进行通信,下面的方法是否可行?或者我是否遗漏了什么重要的东西?
public static void wannabeSwingWorker(final Runnable doInBackground, final Runnable callback) {
Thread backgroundThread = new Thread(new Runnable() {
public void run() {
doInBackground.run();
SwingUtilities.invokeLater(callback);
}
});
backgroundThread.start();
}