मेरे पास एक स्विंग कार्यकर्ता है जो पृष्ठभूमि में गणना करता है, जबकि एक जेएफआरएएम में प्रगति को अद्यतन करता है।स्विंगवर्कर पूरा होने तक प्रतीक्षा कैसे करें?
मैं अपना मुख्य धागा doInBackground() को समाप्त करने के लिए कैसे कर सकता हूं?
मुझे पता है कि मैं चीजों को पूरा() विधि में डाल सकता हूं, लेकिन मैं सोच रहा था कि वास्तव में प्रोग्राम को प्रतीक्षा करने का कोई तरीका था (वह धागा, सही होना)।
कुछ मॉडेल जेडियलोग क्या करेगा के समान कुछ।
तो ...
SwingWorker a = new SwingWorker();
a.execute
doOtherStuff();
doOtherStuff केवल doInBackground के बाद भाग गया है पूरा हो गया है, लेकिन SwingWorker की विधि से किया() में कहा विधि डाले बिना।
एक SwingWorker एक "अतुल्यकालिक" आपरेशन का प्रतिनिधित्व करता है इंतज़ार कर रहे। इस प्रतिमान के साथ, "अगली" चीज को कॉलबैक में संभाला जाना चाहिए - अन्यथा, इसे एसिंक्रोनस इवेंट स्रोत के रूप में उपयोग करना थोड़ा खरीदता है। JDialogs भयानक हैक खुद को है .. कुछ ऐसा नहीं है जिसे मैं अनुकरण करने की कोशिश करता हूं। –