Anda harus mengatur setOpaque (true) menjadi true jika tidak latar belakang tidak akan dicat ke formulir. Saya pikir dari membaca bahwa jika tidak disetel ke benar bahwa itu akan melukis beberapa pikselnya atau tidak ke formulir. Latar belakang transparan secara default yang tampaknya aneh bagi saya setidaknya tetapi dalam cara pemrograman Anda harus mengaturnya menjadi benar seperti yang ditunjukkan di bawah ini.
JLabel lb = new JLabel("Test");
lb.setBackground(Color.red);
lb.setOpaque(true); <--This line of code must be set to true or otherwise the
Dari 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()