"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > जावा में पारदर्शिता के साथ गोलाकार बॉर्डर कैसे बनाएं?

जावा में पारदर्शिता के साथ गोलाकार बॉर्डर कैसे बनाएं?

2024-11-25 को प्रकाशित
ब्राउज़ करें:193

How to Create a Rounded Border with Transparency in Java?

गोल कोनों और पारदर्शिता के साथ सीमा

यह प्रश्न पारदर्शिता के साथ एक गोलाकार सीमा बनाने के मुद्दे से निपटता है, जिससे अंतर्निहित घटक को दिखाया जा सके . समाधान में बॉर्डर के क्लिप क्षेत्र के बाहर पैरेंट के पृष्ठभूमि रंग को चित्रित करने के लिए TextBubbleBorder वर्ग को संशोधित करना शामिल है।

समाधान:

TextBubbleBorder वर्ग में किया गया संशोधन इस प्रकार है इस प्रकार है:

// 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);
}

यह कोड मूल घटक और उसके पृष्ठभूमि रंग को पुनः प्राप्त करता है। इसके बाद यह सीमा क्षेत्र का प्रतिनिधित्व करने वाला एक क्षेत्र बनाता है और इसमें से बबल और पॉइंटर क्षेत्रों को घटा देता है। यह सीमा के बाहर के क्षेत्र को परिभाषित करता है।

क्लिप क्षेत्र सेट के साथ, कोड क्षेत्र को मूल घटक के पृष्ठभूमि रंग से भर देता है, जिससे सीमा गोल कोनों के बाहर पारदर्शी हो जाती है।

अतिरिक्त विचार:

  • मूल कोड में एक बग मौजूद है, जो क्लिपिंग समस्या का कारण बन रहा है। इस बग को पेंटकंपोनेंट() विधि के लिए "क्लिपिंग बग फिक्स" में ठीक कर दिया गया है।
  • पॉइंटर आकार को 0 पर सेट करने से, बॉर्डर एक मानक गोल आयत में बदल जाता है।
  • एक पैरामीटर यदि गलत पर सेट किया गया है तो दाएं-संरेखित बुलबुले बनाने के लिए टेक्स्टबबलबॉर्डर कंस्ट्रक्टर में बाईं ओर पेश किया गया है।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3