У меня есть рабочий качания, который вычисляет в фоновом режиме, обновляя progressBar в JFrame.Как дождаться завершения SwingWorker?
Как я могу сделать свой основной поток для завершения doInBackground()?
Я знаю, что могу поместить вещи в метод done(), но мне было интересно, есть ли способ заставить программу ждать (этот поток, чтобы быть прав).
Нечто похожее на то, что сделает модальный JDialog.
Итак ...
SwingWorker a = new SwingWorker();
a.execute
doOtherStuff();
doOtherStuff побежал только после того, как doInBackground завершено, но без сдачи указанного метода в методе делается() из SwingWorker.
SwingWorker представляет собой «асинхронный» операцию. С этой парадигмой «следующая» вещь должна быть обработана в обратном вызове - в противном случае использование ее в качестве асинхронного источника событий мало покупает. JDialogs - это ужасные хаки. Не то, что я бы рекомендовал попробовать подражать. – 2013-02-13 03:44:31