validate(): स्विंग में जब आप एक घटक बनाते हैं, तो यह नहीं है validअर्थात इसकी वैध संपत्ति है false। एक घटक को वैध कहा जाता है, जब इसकी चौड़ाई, ऊंचाई, स्थान और सामान निर्धारित किया गया है। यह आमतौर पर validate()सीधे या परोक्ष रूप से उनकी पद्धति को बुलाकर किया जाता है । जब हम validate()कंटेनरों को कॉल करते हैं, तो यह कंटेनर (यदि यह अमान्य है) को इसकी doLayout()विधि को कॉल करके मान्य करेगा , जो आमतौर पर आह्वान करेगा LayoutManager। अब इस कंटेनर पर रखे गए प्रत्येक बच्चे को पुनरावर्ती रूप से मान्य किया जाएगा, ताकि पूरा पेड़ बाहर रखा जाएगा और वैध हो जाएगा।
revalidate(): revalidate()आपको उस विशेषता को बदलने के लिए कहा जाएगा जब आप उनकी चौड़ाई / ऊँचाई को प्रभावित करेंगे और जब आप अपनी उपस्थिति को प्रभावित करेंगे एक विशेषता को बदलते हैं। उदाहरण के लिए, यदि आपका JFrameकोई सम्मिलित है , तो JPanelअब एक निश्चित समय पर आपने उसे हटा दिया है JPanelऔर उसके स्थान पर एक नया डाला है, नव रखा की सामग्री के आधार पर JPanel, घटकों के आकार के JPanelसाथ-साथ The CONTAINERअपने आप में (गुण द्वारा) लेआउट प्रबंधक द्वारा उपयोग किया जाता है), बदलता है। जो इसे अमान्य स्थिति में धकेल देता है। तो इस परिवर्तन को मान्य करने के लिए, आपको स्पष्ट रूप से कॉल करना होगा revalidate()।
invalidate(): यह एक ऐसी चीज है जिसका मैंने कभी उपयोग नहीं किया है, इसलिए हो सकता है कि मैं इसके बारे में अधिक जानकारी न दे पाऊं। लेकिन ऐसा लगता है कि ऊपर दिए गए परिदृश्य कुछ संकेत दे सकते हैं, जैसा कि उपयोग करते समय होता है invalidate()।
revalidate()कॉल नहीं करता हैdoLayout(), जोvalidate()करता है। तो यह वास्तव में दोनों का योगrevalidateनहीं है - हमेशा के लिए एक वैध प्रतिस्थापन नहीं हैvalidate।