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



我花了相当多的时间研究如何更改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);

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

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

要添加到框架中的JPanel会阻止背景色。通过panel.setBackground设置面板的背景颜色,或通过设置 panel.setOpaque(false) 使面板透明。

最新更新