JLayeredPane लेयरिंग एक एक दूसरे के JLayeredPane.add(Component, Integer) का उपयोग कर के शीर्ष पर कई अवयव ढेर अनुमति देता है। निचले "परतों" में घटक के शीर्ष पर उच्च "परतें" डिस्प्ले में घटक प्रदर्शित होते हैं।JLayeredPane कंटेनर बनाम
Container.add(Component, int) एक समान तंत्र प्रदान करता है जिससे के साथ घटक इंडेक्स उच्च इंडेक्स वाले घटक के शीर्ष पर प्रदर्शित होते हैं।
कृपया ध्यान दें कि पहले तंत्र पूर्णांक का उपयोग करता है और दूसरा तंत्र पूर्णांक उपयोग करता है। इसके अलावा, एक निम्न के शीर्ष पर उच्च मूल्य प्रदान करता है, और दूसरा विपरीत करता है। मिश्रण दो :)
मेरा प्रश्न है नहीं है: JLayeredPane का उपयोग करते समय कंटेनर पहले से ही एक ही तंत्र प्रदान करता है की बात क्या है? क्या एक परत घटक दूसरे की तुलना में बेहतर है?
अद्यतन: विचार करने के लिए Container.setComponentZOrder(Component, int) भी है।
रे "JLayeredPane के एक बच्चे पर रीपेंट() आह्वान कभी नहीं": मैं तुम्हारे साथ इस पाया बच्चे घटक किस प्रकार के बारे में उत्सुक हूँ। मैं [एक समान समस्या] में भाग गया (http://stackoverflow.com/questions/5668721/jmenuitems-painting-over-higher-components-in-jlayeredpane) और यह निर्धारित किया कि, मेरे मामले में कम से कम, यह एक मुद्दा था JMenuItems विशेष रूप से। वे व्यवहार करते हैं जैसे वे हमेशा शीर्ष पर होते हैं (जब तक कि वे पारदर्शी न हों)। –
@Aaron, मुझे याद नहीं है कि मैंने किस घटक का उपयोग किया था, लेकिन जब आप इसके बारे में सोचते हैं तो यह समझ में आता है कि सभी घटक व्यवहार करेंगे वे हमेशा शीर्ष पर होते हैं। पेंट() यह मानने के लिए है कि आप क्लिप सीमाओं को वांछित सीमाओं के बाहर खींचने से रोकने के लिए सेट करेंगे। जब आप सीधे बच्चे के घटक (बिना सीमा के) पर repaint() का आह्वान करते हैं तो आप अनिवार्य रूप से इसके माता-पिता को अनदेखा करने के लिए कह रहे हैं। दूसरे शब्दों में, यह स्विंग कार्यान्वयन में एक बग नहीं है। यह उपयोगकर्ता त्रुटि है। – Gili
असल में यह सही नहीं है। देखें [एडब्ल्यूटी और स्विंग में चित्रकारी] (http://java.sun.com/products/jfc/tsc/articles/painting/), विशेष रूप से पेंट प्रोसेसिंग अनुभाग।ऐसा नहीं है कि जब 'रीपेंट()' एक JComponent पर कहा जाता है, RepaintManager क्लिप आयत और घटक के 'opaque' और' isOptimizedDrawingEnabled' गुण 'जड़' घटक है जहाँ से रंग आपरेशन शुरू होगा निर्धारित करने के लिए उपयोग करता है कहा गया है। वास्तव में, अधिकांश घटक इस तरह व्यवहार नहीं करते हैं जैसे कि वे हमेशा शीर्ष पर होते हैं (यानी हमेशा के लिए हमेशा चालू नहीं होते हैं)। –