Я нахожусь в процессе улучшения юзабилити приложения Swing. Я пытаюсь добавить SwingWorks, чтобы разгрузить некоторые из вызовов DB и IO, которые выполнялись в EDT, и, таким образом, заблокировать пользовательский интерфейс. Он работал в основном с изолированными задачами, которые не зависят от других задач.
Моя проблема в том, что некоторые вызовы БД зависят друг от друга (задача 2 должна выполняться после задачи 1). Например, скажем, у меня есть Task1, которая выполняет вызов БД и обновляет ComboBox, и у меня есть Task2, который выполняет вызов БД и обновляет JList, но Task2 требует обновления ComboBox. У меня есть то, что Task2 зависит от вызовов DB Task1 (doInBackground ()) и обновления ComboBox завершаются (done ()) (поэтому оба должны быть завершены doInBackground и завершены). Есть хороший способ решить это? Как правильно включить ожидание Task2 для Task1.doInBackground () и Task1.done () для завершения.