Bir JLabel'in arka plan rengini nasıl ayarlarım?


149

Benim JPanel, a'nın arka planını JLabelfarklı bir renge ayarladım . "Test" kelimesini görebiliyorum ve mavi, ama arka plan hiç değişmiyor. Nasıl gösterebilirim?

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

Yanıtlar:


312

kullanım

label.setOpaque(true);

Aksi takdirde, varsayılan opaquedeğeri falsefor olduğundan arka plan boyanmaz JLabel.

Gönderen javadocs :

Doğruysa bileşen, sınırları içindeki her pikseli boyar. Aksi takdirde, bileşen, piksellerinin bir kısmını veya tamamını boyamayabilir ve alttaki piksellerin görünmesine izin verebilir.

Daha fazla bilgi için, Java Eğitici Etiketleri Kullanma başlıklı konuyu okuyun .


39

JLabel arka planı varsayılan olarak saydamdır. Opaklığı şu şekilde true değerine ayarlayın:

label.setOpaque(true);

13

SetOpaque (true) değerini true olarak ayarlamanız gerekir, çünkü arka plan forma boyanmaz. Eğer doğru olarak ayarlanmamışsa, piksellerinden bazılarını forma boyayacağını veya boyamayacağını okuyarak düşünüyorum. Arka plan varsayılan olarak saydamdır, bu da en azından bana garip geliyor, ancak programlama sırasında aşağıda gösterildiği gibi true olarak ayarlamanız gerekiyor.

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

JavaDoc'lardan

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

Arka Plan için, java.awt.Colorpaketinize aktardığınızdan emin olun .

Senin içinde mainyöntemle, yani public static void main(String[] args)zaten ithal yöntemini çağırın:

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

Not: Opaklığın ayarlanması görünürlüğünü etkiler. Java'da büyük / küçük harf duyarlılığını unutmayın.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.