2010-12-11 11 views
5

स्विंग जेपीनेल में अपारदर्शी कहा जाता है, इसका क्या अर्थ है?जेपीनेल ने अपारदर्शी कहा कि इसका क्या अर्थ है?

भी कैसे JPanel वी.एस. JComponent अपारदर्शी के संबंध में की तुलना में?

कृपया व्याख्या सरल शब्दों में यदि संभव हो तो, इसलिए मैं बहुत जीयूआई प्रोग्रामिंग में अनुभव नहीं कर रहा हूँ।

उत्तर

12

अपारदर्शी स्विंग में एक बहुत ही विशेष अर्थ है - इसका मतलब है कि घटक पूरी तरह से यह सीमा के भीतर पूरा क्षेत्र पेंट (देखें setOpaque javadoc)

यह मुख्य रूप से प्रयोग किया जाता है निर्धारित करने के लिए इसके पीछे घटक फिर से रंगना के लिए आवश्यक है वर्तमान घटक

  • तो isOpaque सच है, यह घटक के पीछे कुछ भी (क्योंकि यह सिर्फ ओवरराइट किया जाएगा), इसलिए इस तरह के पृष्ठभूमि ड्राइंग एक अनुकूलन के रूप में छोड़ा जा सकता है फिर से रंगना अनावश्यक है।
  • तो isOpaque गलत है, तो यह इंगित करता है कि घटक कुछ पारदर्शिता प्रभाव लागू कर रहा है - जैसे एक घटक बीच में एक अर्द्ध पारदर्शी खिड़की है कि ड्राइंग, या एक गैर आयताकार घटक ड्राइंग

आप अपने खुद के JComponent और सच करने के लिए setOpaque पैदा कर रहे हैं, लेकिन अनुबंध का सम्मान नहीं करते हैं (यानी आप आकर्षित नहीं करते अपारदर्शी होने का दावा करने के बावजूद सीमा के भीतर पूरा क्षेत्र) तो पृष्ठभूमि को फिर से खींचा जाने के कारण आपको अप्रत्याशित परिणाम मिल सकते हैं।

5

अपारदर्शी और पारदर्शी आपकी मदद के लिए अग्रिम में

धन्यवाद विपरीत शब्द हैं।

एक खिड़की, पानी या हवा पारदर्शी हैं - आप उनके माध्यम से देख सकते हैं।

एक दीवार, मिट्टी या कंक्रीट अपारदर्शी हैं - आप उन के माध्यम से नहीं देख सकता।

जीयूआई प्रोग्रामिंग के संदर्भ में, दोनों JPanel और JComponent डिफ़ॉल्ट रूप से अपारदर्शी हैं। यदि आप उन्हें पारदर्शी सेट करते हैं, तो आपको अधिक अंतर नहीं दिखने की संभावना है, क्योंकि अंतर्निहित जेएफआरएम (या जो भी) आमतौर पर जेपीनल/जेकंपोनेंट के समान रंग होगा।

+1

आप सामान्य रूप से पारदर्शी और अपारदर्शी अर्थ में सही हैं, लेकिन बाकी यह भ्रामक है। स्विंग में अपर्याप्तता यह इंगित करने के लिए एक विशेष झंडा है कि किसी घटक के पीछे पृष्ठभूमि पेंटिंग की आवश्यकता है, यह सामान्य रूप से घटक को कैसे प्रस्तुत किया जाता है, यह * प्रभावित नहीं करता है। – mikera

2

आलेख Painting in AWT and Swing में Opacity पर एक और उपयोगी संदर्भ अनुभाग है। यह भी पता चला है कि JPanelopaque by default कई L&Fs पर है उपयोगी है, जबकि JLabelnot है।

+0

'जेपीनल' डिफ़ॉल्ट रूप से अपारदर्शी हो सकता है या नहीं। यह इस बात पर निर्भर करता है कि किस संस्करण का पीएल एंड एफ प्रभाव में है। –

+1

+1, ट्यूटोरियल हमेशा एक और पूर्ण स्पष्टीकरण दे सकते हैं जो हम कर सकते हैं, साथ ही आप कुछ अन्य दिलचस्प तथ्यों को भी सीख सकते हैं। – camickr

+0

@camickr: अच्छा बिंदु; मैंने अभी सीखा है कि 'जेपीनल' अस्पष्टता एल एंड एफ पर निर्भर करती है! :-) – trashgod

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