2010-09-15 16 views
20

मैं बटन को दबाए जाने पर रनटाइम के दौरान अपने जेएफआरएएम में कुछ नए घटक जोड़ना चाहता हूं। यह अब तक काम करता है, लेकिन नए घटकों को देखने के लिए मुझे मैन्युअल रूप से विंडो का आकार बदलना होगा।नए घटक जोड़ने के बाद जेएफआरएएम को रीफ्रेश करें

क्या कोई ऐसी क्रिया है जिसे मैं आग लगा सकता हूं या खिड़की को ताज़ा करने के लिए कॉल करने की विधि? किसी भी मदद की सराहना की। अग्रिम में धन्यवाद।

उत्तर

36

आपको फ्रेम revalidate(); फ्रेम है। यदि वह काम नहीं करता है तो आप भी कॉल करने के लिए repaint();

+1

ठीक है मेरी कक्षाओं में थोड़ा सा हैक करना है लेकिन यह काम करता है! (बीटीडब्ल्यू आप का मतलब वैध() सही है?;)) – reox

+0

वास्तव में, चूंकि जेएफआरएम पहले से ही एक शीर्ष स्तर कंटेनर है, तो आप केवल वैध(); कॉल कर सकते हैं। – crusam

+0

खैर, आम तौर पर घटक जेपीनल में जोड़े जाते हैं, फ्रेम सीधे नहीं, इसलिए आप पैनल को पुन: सत्यापित करेंगे। – camickr

7

कॉल

revalidate(); 
repaint(); 

revalidate नए घटक सूची के आधार पर पुनर्स्थापित करने के लिए लेआउट प्रबंधक बताता है। यह पुनर्विचार करने के लिए एक कॉल भी ट्रिगर करेगा।

repaint का उपयोग स्वयं को पुन: पेश करने के लिए एक घटक को बताने के लिए किया जाता है।

0

जावा repaint(); मेरे लिए काम कर रहा है। जबकि revalidate(); मेरे लिए काम नहीं कर रहा है।

संबंधित मुद्दे