如何设置 JLabel 的背景色?

2022-08-31 07:17:19

在我的 中,我将 a 的背景设置为不同的颜色。我可以看到“测试”这个词,它是蓝色的,但背景根本没有变化。如何让它显示?JPanelJLabel

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

答案 1

label.setOpaque(true);

否则不会绘制背景,因为 的默认值为 。opaquefalseJLabel

来自 JavaDocs

如果为 true,则组件将在其边界内绘制每个像素。否则,组件可能不会绘制其部分或全部像素,从而允许下层像素显示出来。

有关更多信息,请阅读 Java 教程如何使用标签


答案 2

默认情况下,JLabel 背景是透明的。将不透明度设置为 true,如下所示:

label.setOpaque(true);

推荐