Tôi có nhân viên xoay để tính toán trong nền, trong khi cập nhật tiến trình trong một JFrame.Làm thế nào để chờ cho đến khi một SwingWorker hoàn tất?
Làm cách nào để chủ đề chính của tôi đợi cho doInBackground() kết thúc?
Tôi biết tôi có thể đặt mọi thứ trong phương thức done(), nhưng tôi đã tự hỏi nếu có một cách để thực sự làm cho chương trình chờ đợi (thread đó, để được chính xác).
Điều gì đó tương tự như những gì một JDialog phương thức sẽ làm.
Vậy ...
SwingWorker a = new SwingWorker();
a.execute
doOtherStuff();
doOtherStuff đang chạy chỉ sau doInBackground hoàn tất, nhưng không đưa phương pháp nói trong phương pháp thực hiện() của SwingWorker.
Một SwingWorker đại diện cho một hoạt động "không đồng bộ". Với mô hình này, điều "tiếp theo" cần làm được xử lý trong một cuộc gọi lại - nếu không, sử dụng nó như một nguồn sự kiện không đồng bộ sẽ mua ít. JDialogs hacks awful mình .. không phải cái gì tôi muốn khuyên bạn nên cố gắng để thi đua. –