Вопрос

В моем JPanel, Я установил фон JLabel к другому цвету. Я вижу слово «тест», и это синий, но фон вообще не меняется. Как я могу получить это, чтобы показать?

this.setBackground(Color.white);
JLabel label = new JLabel("Test");
label.setForeground(Color.blue);
label.setBackground(Color.lightGray);
this.add(label);
Это было полезно?

Решение

Использовать

label.setOpaque(true);

В противном случае фон не окрашен, поскольку по умолчанию opaque является false для JLabel.

Из Javadocs.:

Если TRUE, компонент рисует каждый пиксель в пределах его границ. В противном случае компонент может не покрасить некоторые или все его пиксели, позволяя в основном пикселям показывать.

Для получения дополнительной информации прочитайте учебное пособие Java Как использовать этикетки.

Другие советы

Фон JLABEL прозрачен по умолчанию. Установите непрозрачность подобное:

label.setOpaque(true);

Вы должны установить SETOPAQUE (TRUE) на True Wiesu, на фоновом режиме не будет окрашен в форму. Я думаю, что от чтения этого, если не установлено значение true, что он будет рисовать или нет ни одного из его пикселей к форме. Фон прозрачен по умолчанию, что, по крайней мере, странно, но на пути к программированию вы должны установить его значение, как показано ниже.

      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

Слова

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

Для фона, убедитесь, что вы импортировали 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: Настройка непрозрачных повлияет на его видимость. Помните чувствительность дела в Java.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top