2012-01-26 89 views
4

我试图让我的程序的背景颜色为白色(而不是灰色)。我有一个包含程序的框架类(该框架类的一个新实例在主要方法中实例化)。我有以下的构造:为什么JPanel背景没有改变颜色?

this.setBackground(Color.WHITE); 

万一它在某种程度上被其他面板挡在外面,我加入了同一条线上的每一个面板我在我的程序的构造函数(我的意思是每一个)。

不过,没有发生任何事。

什么可能是错的?

+0

你能告诉我们这个电话的代码吗?而'frame class'你是指'JFrame'的一个实例吗? – jefflunt

回答

6

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

getContentPane().setBackground(Color.WHITE); 

其他JPanels添加到GUI不应该有自己的颜色设置,但应该有自己的不透明属性通过myPanel.setOpaque(false);设置为false,这将让他们后面的任何图像或颜色可见。这个例外是contentPane,它应该始终是不透明的。

如果这没有帮助,你需要告诉我们更多(你需要这样做,因为你的问题留下了很多必要和重要的细节)。