java - Main purpose of SwingUtilities invokeLater -
मेरे पास यह कोड स्निपेट है
import javax.swing.SwingUtilities; सार्वजनिक वर्ग क्लाएंट 1 {सार्वजनिक स्थिर शून्य मुख्य (स्ट्रिंग [] एल्ग्स) {स्विंग-यूटियल्सइन्वेकलेटर (नया रननाबल) (सार्वजनिक शून्य से चलाया गया) (// नया मायवंडो ("बेओग"); नया मायवंडोव वी 2 ("बायोग");}} ); }}
क्या अंतर है अगर मैं स्विंग यूटीज का उपयोग नहीं करूँगा?
मान लें कि कोड चलाने
विधि के भीतर एक UI तत्व को संशोधित करता है यदि आप गैर-यूआई थ्रेड से उस कोड को निष्पादित करने का प्रयास करते हैं, तो वह असफल हो जायेगी: सभी UI कार्रवाइयां यूआई थ्रेड (उर्फ घटना प्रेषण धागा ) में होनी चाहिए।
SwingUtilities.invokeLater
आपको "कोड के इस बिट को चलाने के लिए कहने की अनुमति देता है, लेकिन ऐसा यूआई थ्रेड में करें" जैसे, पृष्ठभूमि थ्रेड्स के लिए यह बहुत अच्छा है जो अभी भी यूआई को अपडेट करना चाहता है। एक और विकल्प का उपयोग करना है, लेकिन यह हमेशा उपयुक्त नहीं है क्योंकि इसकी आवश्यकता है कि "जानता है" कोड को UI थ्रेड का उपयोग करने की आवश्यकता कोड है जो पृष्ठभूमि धागा सेट करता है।
अधिक जानकारी के लिए देखें ।
Comments
Post a Comment