Java jLabel.setOpaque(true)不起作用

Java jLabel.setOpaque(true)不起作用,java,swing,netbeans,jlabel,Java,Swing,Netbeans,Jlabel,我有一个jLabel,它最初默认将set不透明设置为false。当我将标签的背景颜色设置为某种颜色并将setOpaque设置为true时,它不会显示颜色。为什么即使setOpaque设置为true,它也不显示颜色 这就是我要做的 JLabel key = values[i]; key.setBackground(Color.red); key.setOpaque(true); 试着这样做:- JLabel key = values[i]; key.setOpaque(true); key.se

我有一个jLabel,它最初默认将set不透明设置为false。当我将标签的背景颜色设置为某种颜色并将setOpaque设置为true时,它不会显示颜色。为什么即使setOpaque设置为true,它也不显示颜色

这就是我要做的

JLabel key = values[i];
key.setBackground(Color.red);
key.setOpaque(true);
试着这样做:-

JLabel key = values[i];
key.setOpaque(true);
key.setBackground(Color.red);

这对我来说很有魅力:

import java.awt.Color;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.SwingUtilities;

public class TestJLabel {

    protected void initUI() {
        JFrame frame = new JFrame(TestJLabel.class.getSimpleName());
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        JLabel key = new JLabel("Some opaque label with a yellow background.");
        key.setBackground(Color.YELLOW);
        key.setOpaque(true);
        frame.add(key);
        frame.pack();
        frame.setVisible(true);

    }

    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {

            @Override
            public void run() {
                new TestJLabel().initUI();
            }
        });
    }

}
导致:


顺序无关紧要。
jLabel.setOpaque(true)不起作用
-当然可以。在演示问题的代码帖子中,您在其他地方遇到了问题。