घटकों की सभी पेंटिंग एक थ्रेड में निष्पादित की जानी चाहिए, इसलिए, उन्हें ठीक से प्रस्तुत किया जाता है। इस तरह घटक को पता चलेगा कि कौन सा हिस्सा पहले से ही चित्रित किया गया है और कौन सा हिस्सा नहीं है।
यदि आप ईडीटी के बाहर "पेंटिंग" संबंधित विधि (पेंट, अपडेट, पेंट कॉम्पोनेंट, शो, सेट विज़िबल, पैक इत्यादि) का आह्वान करते हैं, तो आप दो अलग-अलग धागे में पेंट करने की कोशिश करेंगे, और इससे समस्याएं आ सकती हैं।
जब आपको UI को अपडेट करने के लिए किसी अन्य थ्रेड का उपयोग करने की आवश्यकता होती है, तो आपको इसे invokeLater सुविधा के साथ आवेदना चाहिए, जो बदले में इसे आपके लिए ईडीटी में रखेगा, इसलिए आप अभी भी उसी थ्रेड में पेंट करेंगे।
आप एक विधि है कि पहले से ही EDT में चलाता है में कोडिंग कर रहे हैं तो आप इसका इस्तेमाल करने की जरूरत नहीं है (उदाहरण के लिए, actionPerformed
या paint
या उन में से एक) या फिर आप को क्रियान्वित कर रहे हैं कोड के लिए UI नहीं संबंधित (उदाहरण के लिए, पृष्ठभूमि आदि में प्रसंस्करण फ़ाइलें)
बेहतर समझने के लिए इन सभी अवधारणाओं पढ़ें: The single thread rule
असल में यह तरीका डेवलपर ** ** ** थ्रेड सिंक्रनाइज़ेशन के बारे में चिंता करने के लिए बिल्कुल नहीं है, क्योंकि आप बस स्विंग को यह बताते हैं कि यह अपडेट करने का समय है, और भारी काम दृश्यों के पीछे किया जाता है। – OscarRyz