Наше приложение Swing выполняет некоторые длительные задачи в фоновом потоке, используя отличный класс SwingWorker. Однако многие старые Mac поддерживают только Java 5, поэтому мы хотим скомпилировать наше приложение как 5, а не 6. Поскольку SwingWorker был представлен на Java 6, мы больше не можем его использовать.Java 5 SwingWorker replacement
Будет ли приемлемой замена, если мне нужно только что-то сделать в фоновом режиме, а затем передать ее в графическом интерфейсе, когда это будет сделано? Или я забываю что-то важное?
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();
}
На самом деле, это говорит о том, что это оригинальная реализация SwingWorker, и это Sun портировал ее в стандартную библиотеку. –