2010-12-18 6 views
8

मैंने पढ़ा कि जेएफआरएम कई पैन से बना है .. पैन क्या हैं और जेफ्रेम पैन से क्यों बना है? और क्यों एक जेपीनल है जबकि ऐसा लगता है कि जेएफआरएम जेपीनल की तरह दिखता है लेकिन मेनू बार और बंद बटन के साथ, जेपीनल की आवश्यकता क्या है? क्या कोई मुझे उन 3 घटकों की परिभाषा और उपयोग स्पष्ट रूप से समझा सकता है?एक फ्रेम, एक फलक या स्विंग में एक पैनल का उपयोग क्या है?

उत्तर

15

जेएफआरएएम जैसे शीर्ष स्तर के कंटेनर हैं। ये मुख्य विंडो के रूप में काम कर सकते हैं जिसमें एक जीयूआई बनाया गया है।

फिर मध्यवर्ती स्तर के कंटेनर हैं। इन्हें अन्य कंटेनरों में रखा जाना चाहिए, वे स्वयं से अस्तित्व में नहीं हो सकते हैं। वे या तो आप घटक व्यवस्थित करने में मदद करते हैं या वे कार्यक्षमता जोड़ते हैं। एक जेपीनेल एक बहुत ही सरल कंटेनर है जो आपको अन्य घटकों को व्यवस्थित करने में मदद करता है। जबकि JSplitPane दो पैन रखने की कार्यक्षमता जोड़ता है जो चर आकार के होते हैं।

जब आपके पास एक जटिल जीयूआई है तो आप अपने जीयूआई के विभिन्न क्षेत्रों को व्यवस्थित करने के लिए जेपीनल का उपयोग करना चाहेंगे और फिर प्रत्येक पैनल को अपने जेएफआरएएम में जोड़ सकते हैं।

जावा में स्विंग एपीआई Composite Design Pattern का उपयोग करता है। इसका मतलब यह है कि आप अन्य वस्तुओं से बहुत जटिल वस्तुओं को लिख सकते हैं और अभी भी समग्र वस्तुओं को सरल वस्तुओं के समान व्यवहार कर सकते हैं। तो आप एक जेपीनेल को जेपीनल में डाल सकते हैं और यह अभी भी जेपीनल की तरह व्यवहार करता है।

इसके बारे में एक लेंस बॉक्स (या सिलाई किट) की तरह सोचें। यह एक बड़े कंटेनर से बना है। लेकिन इस छोटे कंटेनर में कई छोटी वस्तुओं को रखने और बाद में इसे प्रबंधित करना मुश्किल बनाते हैं, आप बड़े बॉक्स के अंदर कुछ छोटे डिब्बे रख सकते हैं। फिर हुक और सिंकर्स आदि डिब्बे में जाते हैं। इसे प्रबंधित करना आसान है। बड़ा बॉक्स जेएफआरएएम है और डिब्बे जेपीनल हैं।

+2

मुझे यह मिल गया ... लेकिन मेरे पास अभी भी एक और सवाल है। मेरी पुस्तक में जेएफआरएएम का एक आंकड़ा है कि यह कई पैनों से बना है: रूट फलक, स्तरित फलक, सामग्री फलक और ग्लास फलक उन सभी के लिए क्या ज़रूरत है? और एक फलक == एक पैनल है ?? – Ahmed

+2

फ्रेम्स बेहद जटिल वस्तुएं हैं जिन्हें बड़ी संख्या में स्थितियों को पूरा करने की आवश्यकता होती है। उन्हें कई अलग-अलग प्लेटफार्मों में समान व्यवहार करना चाहिए। इसे पूरा करने के लिए विभिन्न चीजों के लिए जिम्मेदारियों को अपने घटकों में तोड़ना जरूरी है। यह पृष्ठ: http://download.oracle.com/javase/7/docs/api/javax/swing/JRootPane.html मेरी सहायता से आप उन कुछ पैनों के उद्देश्य को समझते हैं जिन्हें आपने बताया था। –

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