मैं जेलेबेल की पृष्ठभूमि का रंग कैसे सेट करूं?


149

मेरे में JPanel, मैंने JLabelएक अलग रंग की पृष्ठभूमि सेट की । मैं "टेस्ट" शब्द देख सकता हूं और यह नीला है, लेकिन पृष्ठभूमि बिल्कुल नहीं बदलती है। मैं इसे दिखाने के लिए कैसे प्राप्त कर सकता हूं?

this.setBackground(Color.white);
JLabel label = new JLabel("Test");
label.setForeground(Color.blue);
label.setBackground(Color.lightGray);
this.add(label);

जवाबों:


312

उपयोग

label.setOpaque(true);

अन्यथा पृष्ठभूमि चित्रित नहीं है, के डिफ़ॉल्ट के बाद से opaqueहै falseके लिए JLabel

से Javadocs :

अगर सही घटक हर पिक्सेल को उसकी सीमा के भीतर पेंट करता है। अन्यथा, घटक कुछ या सभी पिक्सेल को चित्रित नहीं कर सकता है, जिससे अंतर्निहित पिक्सेल के माध्यम से दिखाने की अनुमति मिलती है।

अधिक जानकारी के लिए, जावा ट्यूटोरियल कैसे लेबल का उपयोग करें पढ़ें ।


39

JLabel पृष्ठभूमि डिफ़ॉल्ट रूप से पारदर्शी है। इस तरह से अस्पष्टता निर्धारित करें:

label.setOpaque(true);

13

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

      JLabel lb = new JLabel("Test");
      lb.setBackground(Color.red);
      lb.setOpaque(true); <--This line of code must be set to true or otherwise the 

JavaDocs से

setOpaque

public void setOpaque(boolean isOpaque)
  If true the component paints every pixel within its bounds. Otherwise, 
  the component may not paint some or all of its pixels, allowing the underlying 
  pixels to show through.
  The default value of this property is false for JComponent. However, 
  the default value for this property on most standard JComponent subclasses 
   (such as JButton and JTree) is look-and-feel dependent.

Parameters:
isOpaque - true if this component should be opaque
See Also:
isOpaque()

6

पृष्ठभूमि के लिए, सुनिश्चित करें कि आपने java.awt.Colorअपने पैकेज में आयात किया है।

अपनी mainविधि में, अर्थात public static void main(String[] args), पहले से आयातित विधि को कॉल करें:

JLabel name_of_your_label=new JLabel("the title of your label");
name_of_your_label.setBackground(Color.the_color_you_wish);
name_of_your_label.setOpaque(true);

NB: अपारदर्शी स्थापित करने से इसकी दृश्यता प्रभावित होगी। जावा में केस सेंसिटिविटी याद रखें।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.