java JFrame 设置背景颜色无效的理解

来源:互联网 发布:昆西空压机密码算法 编辑:程序博客网 时间:2024/04/29 19:35

在开发Java应用程序时,通常情况下利用JFrame创建窗口。利用JFrame创建的窗口分别包含一个标题、最小化按钮、最大化按钮和关闭按钮

1、在你使用JFrame创建窗体时的情况:

在你直接调用setBackground(Color.red)这个方法后,你的确设置了JFrame的背景颜色,而你看到的却不是直接的JFrame,而是JFrame.getContentPane()。而JFrame上的contentPane默认是Color.WHITE的,所以,无论你对JFrame怎么设置背景颜色,你看到的都只是contentPane.

最后,解决办法:

方法A:在完成初始化,调用getC ontentPane()方法得到一个contentPane容器,然后将其设置为不可见,即setVisible(false)。这样,你就可以看到JFrame的庐山真面貌啦!核心代码:this.getContentPane().setVisible(false)

方法B:将contentPane的颜色设置为你想要的颜色,而不是对JFrame本身设置,核心代码:this.getContentPane().setBackground(Color.red);

方法C:为JFrame添加一个Panel或者JLabel等其他组件,设置其颜色为你想要的颜色,然后将其覆盖JFrame窗口即可。

2、在使用Frame创建窗体时的情况:

可以直接使用this.setBackground(Color.red)来对窗体进行设置。

3、JFrame是Frame的子类,各有各的优点,使用情况视情况而定


0 0
原创粉丝点击