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

标签 java swing background jframe

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

最终 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 上进行的所有搜索的结果,因此我们将不胜感激。我知道我需要更改内容 Pane 而不是实际框架,但我所有的努力似乎都会导致默认的灰色背景。提前致谢。

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

最佳答案

您添加到框架中的 JPanel 遮挡了背景颜色。通过 panel.setBackground 设置面板的背景颜色,或者通过设置 panel.setOpaque(false) 使面板透明。

关于java - 设置 JFrame 的背景颜色不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28225008/

相关文章:

java - 跨不同jsp页面的变量

java - 寻找有关如何在特定测试中提高常规性能的想法

html - 拉伸(stretch)背景图像css?

android - 设置textView的边框和背景颜色

java - 如何从 JSON 字符串中获取特定值

java - 验证期间的 Websphere Liberty ClassNotFoundException

java - 如何从 jinternalframe 调用 jdialog

Java JFrame - 在另一个线程完成之前不重绘()

java - JInternalFrame 不会出现

background - 在后台脚本中运行 busybox netcat?