为什么JPanel背景不会改变颜色?

时间:2012-01-26 03:09:17

标签: java swing colors jframe jpanel

我正在尝试将程序的背景颜色设置为白色(而不是灰色)。

我有一个包含程序的框架类(在main方法中实例化该框架类的新实例)。我有以下是构造函数:

this.setBackground(Color.WHITE);

以防万一被其他面板阻挡,我在程序中的每个面板的构造函数中添加了相同的行(我的意思是每个面板)。

仍然没有发生任何事情。

可能出现什么问题?

1 个答案:

答案 0 :(得分:6)

如果在JFrame的构造函数中调用该代码,则不会更改JFrame的contentPane的颜色,这是需要完成的操作。在contentPane上进行调用:

getContentPane().setBackground(Color.WHITE);

添加到GUI的其他JPanel不应设置其颜色,但应通过myPanel.setOpaque(false);将其opaque属性设置为false。这将使其后面的任何图像或颜色可见。例外情况是contentPane,它应始终是不透明的。

如果这没有帮助,你需要告诉我们更多(无论如何你需要这样做,因为你的问题遗漏了许多必要和重要的细节)。