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

पारभासी स्विंग घटकों को ठीक से कैसे दोबारा रंगें?

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

How to Properly Repaint Translucent Swing Components?

पारभासी फ़्रेम/पैनल/घटक पर पुन: पेंटिंग को कैसे संभालें

पारभासी घटक अपनी सामग्री को अपडेट करते समय पुन: पेंटिंग की चुनौतियां पेश कर सकते हैं, जिससे अप्रभावी दृश्य प्रभाव उत्पन्न हो सकते हैं . यह आलेख अल्फा कंपोजिट से जुड़े एक समाधान की खोज करता है और इसे लागू करने के लिए कोड उदाहरण प्रदान करता है। उपयुक्त नियम निर्धारित करने से, रेंडर किए गए तत्वों की पारदर्शिता को नियंत्रित करना संभव हो जाता है।

एक पारभासी घटक को लागू करना

एक दृष्टिकोण JLabel का विस्तार करना और आइकन को लागू करना है। यह एक पारभासी घटक के निर्माण को सक्षम बनाता है जो पाठ प्रदर्शित कर सकता है।

पूरे फ़्रेम को पारभासी बनाने के लिए संशोधित करना

पूरे फ़्रेम को पारभासी बनाने के लिए, पारदर्शिता घटक रखने के लिए फ़्रेम के पृष्ठभूमि रंग को समायोजित करें। हालाँकि, यह ध्यान रखना महत्वपूर्ण है कि यह सामग्री की अपारदर्शिता को भी प्रभावित करेगा।

कोड उदाहरण

JLabel उदाहरण:

import java.awt.AlphaComposite; आयात java.awt.रंग; आयात java.awt.फ़ॉन्ट; आयात java.awt.ग्राफिक्स; आयात java.awt.Graphics2D; आयात javax.swing.JLabel; पब्लिक क्लास ट्रांसलूसेंटजेलेबल जेएलएबल का विस्तार करता है { सार्वजनिक ट्रांसलूसेंटजेलेबल() { सेटऑपेक(झूठा); सेटबैकग्राउंड (नया रंग (0f, 0f, 0f, 0.5f)); सेटफ़ॉन्ट (नया फ़ॉन्ट ("सेरिफ़", फ़ॉन्ट.प्लेन, 48)); } @ओवरराइड संरक्षित शून्य पेंट कॉम्पोनेंट (ग्राफिक्स जी) { ग्राफ़िक्स2डी जी2डी = (ग्राफ़िक्स2डी) जी; g2d.setComposite(AlphaComposite.SrcOver); सुपर.पेंटकंपोनेंट(g2d); } }

पारभासी फ़्रेम उदाहरण:

import java.awt.AlphaComposite;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Graphics2D;
import javax.swing.JLabel;

public class TranslucentJLabel extends JLabel {

    public TranslucentJLabel() {
        setOpaque(false);
        setBackground(new Color(0f, 0f, 0f, 0.5f));
        setFont(new Font("Serif", Font.PLAIN, 48));
    }

    @Override
    protected void paintComponent(Graphics g) {
        Graphics2D g2d = (Graphics2D) g;
        g2d.setComposite(AlphaComposite.SrcOver);
        super.paintComponent(g2d);
    }

}

इन तकनीकों को लागू करके, आप प्रभावी री-पेंटिंग व्यवहार के साथ पारभासी फ्रेम और घटक बना सकते हैं।

नवीनतम ट्यूटोरियल अधिक>

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

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

Copyright© 2022 湘ICP备2022001581号-3