Sie müssen setOpaque (true) auf true setzen, andernfalls wird der Hintergrund nicht in das Formular gezeichnet. Ich denke aus dem Lesen, dass, wenn es nicht auf wahr gesetzt ist, es einige oder keine seiner Pixel in die Form malen wird. Der Hintergrund ist standardmäßig transparent, was mir zumindest seltsam erscheint, aber bei der Programmierung müssen Sie ihn wie unten gezeigt auf true setzen.
JLabel lb = new JLabel("Test");
lb.setBackground(Color.red);
lb.setOpaque(true); <--This line of code must be set to true or otherwise the
Aus den 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()