Java 设置JFrame的背景色不是';行不通

Java 设置JFrame的背景色不是';行不通,java,swing,background,jframe,Java,Swing,Background,Jframe,我花了相当多的时间研究如何更改JFrame的背景色,但没有成功地使任何事情都起作用。当前状态下的代码如下所示: 最终图像图标cardIcon=新图像图标(“cardImages/aceSpades.gif”) 这是我在stackoverflow上所做的所有搜索的结果,因此,如果您能提供一些帮助,我们将不胜感激。我知道我需要更改内容窗格而不是实际的框架,但我所有的努力似乎都会导致默认的灰色背景。提前谢谢 编辑:面板用于正在加载的图像。 编辑2:听起来像是面板阻止了背景的改变。您添加到框架的JPan

我花了相当多的时间研究如何更改JFrame的背景色,但没有成功地使任何事情都起作用。当前状态下的代码如下所示:

最终图像图标cardIcon=新图像图标(“cardImages/aceSpades.gif”)

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

编辑:
面板
用于正在加载的图像。
编辑2:听起来像是
面板
阻止了背景的改变。

您添加到框架的
JPanel
阻止了背景颜色。通过
panel.setBackground
设置面板的背景色,或者通过设置
panel.setOpaque(false)
使面板透明。对不起,我将用定义更新我的OP。错过了。我评论了窗外。添加(面板);JFrame的背景是绿色的,可能面板被挡住了it@MadProgrammer我的回答中包括使面板透明。>>抱歉,我进入了
面板。挫折背景
然后说,“是的,这就是答案”;)
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);