设置 JFrame 的背景颜色不起作用

Setting the background color of JFrame isn't working

我花了很多时间研究如何更改 JFrame 的背景颜色,但没有成功。我当前状态下的代码如下所示:

final ImageIcon cardIcon = new ImageIcon("cardImages/aceSpades.gif");

JPanel panel = new JPanel()
    {

        public void paintComponent(Graphics g) {
            super.paintComponent(g);
            cardIcon.paintIcon(this, g, 20, 20);
            }
    };

JFrame window = new JFrame("Deck of Cards");
window.add(panel);
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
window.setPreferredSize(new Dimension(200,200));
window.pack();
window.getContentPane().setBackground(Color.green);
window.setVisible(true);

这是我在 Whosebug 上进行的所有搜索的结果,因此我们将不胜感激。我知道我需要更改内容窗格而不是实际的框架,但我所有的努力似乎都会导致默认的灰色背景。提前致谢。

编辑:panel 用于正在加载的图像。 编辑 2:听起来 panel 正在阻止背景变化。

您要添加到框架的 JPanel 会遮挡背景色。通过 panel.setBackground 设置面板的背景颜色或通过设置 panel.setOpaque(false).

使面板透明