गोल कोनों के साथ बॉर्डर में पारदर्शी कोने
दिए गए कोड में, टेक्स्टबबलबॉर्डर वर्ग नीचे एक त्रिकोणीय सूचक के साथ एक गोल आयत को पेंट करता है . हालाँकि, आयत के बाहर के कोने थोड़ा विस्तारित होते हैं, जो मूल पैनल का पृष्ठभूमि रंग दिखाते हैं। पारदर्शी कोनों को प्राप्त करने के लिए, हम एक अतिरिक्त चरण को शामिल करने के लिए पेंटबॉर्डर विधि को संशोधित करते हैं:
// Paint the BG color of the parent, everywhere outside the clip // of the text bubble. Component parent = c.getParent(); if (parent!=null) { Color bg = parent.getBackground(); Rectangle rect = new Rectangle(0,0,width, height); Area borderRegion = new Area(rect); borderRegion.subtract(area); g2.setClip(borderRegion); g2.setColor(bg); g2.fillRect(0, 0, width, height); g2.setClip(null); }
यह कोड जांचता है कि घटक का कोई पेरेंट है या नहीं, उसका पृष्ठभूमि रंग पुनः प्राप्त करता है, और संपूर्ण सीमा क्षेत्र का प्रतिनिधित्व करने वाला एक आयत बनाता है। इसके बाद यह एक एरिया ऑब्जेक्ट borderRegion बनाता है जो इस आयत का प्रतिनिधित्व करता है। इसके बाद, यह बॉर्डररीजन से टेक्स्ट बबल का प्रतिनिधित्व करने वाले क्षेत्र को घटाता है, क्लिप नामक एक क्षेत्र बनाता है जो टेक्स्ट बबल के बाहर के क्षेत्र का प्रतिनिधित्व करता है।
क्लिप के साथ, कोड ग्राफ़िक्स2डी ऑब्जेक्ट के लिए क्लिपिंग क्षेत्र सेट करता है, इसे भरता है मूल पृष्ठभूमि रंग के साथ, और फिर बॉर्डर बनाने के लिए क्लिपिंग क्षेत्र को रीसेट करता है। यह सुनिश्चित करता है कि गोल आयत के बाहर के कोने पारदर्शी हो जाते हैं, जो मूल पृष्ठभूमि का रंग दिखाते हैं।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3