java窗口背景颜色设置

内容摘要
窗口背景颜色是指直接调用JFrame或者Frame的setBackground(Color color)方法设置后显示出来的颜色。如果直接调用这个方法后,的确设置了背景颜色,但看到的却不是直接的JFrame
文章正文

窗口背景颜色是指直接调用JFrame或者Frame的setBackground(Color color)方法设置后显示出来的颜色。

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

推荐相关视频教程:java视频教程

解决方法:

方法一:在完成初始化,调用getContentPane()方法得到一个contentPane容器,然后将其设置为不可见,即setVisible(false)。

代码如下:

import javax.swing.*;
import java.awt.*
public class TestMenuBar1 {
	public static void main(String arg[]) {
		createNewMenu ck=new createNewMenu("第一个窗口");
	}
}
class createNewMenu extends JFrame{
	public createNewMenu(String title) {
		getContentPane().setVisible(false);
		setBackground(Color.blue);  //设置窗口背景颜色
		setTitle(title);
		setBounds(200,200,500,500); //设置窗口位置和大小
		setVisible(true);  //设置窗口可见
	}
}

方法二:直接加 this.getContentPane().setBackground(Color.blue);

代码如下:

import java.awt.*;
import javax.swing.*;
public class TestMenuBar1 {
	public static void main(String arg[]) {
		createNewMenu ck=new createNewMenu("第一个窗口");
	}
}
class createNewMenu extends JFrame{
	public createNewMenu(String title) {
		setTitle(title);
		setBounds(200,200,500,500);
		setVisible(true);
		this.getContentPane().setBackground(Color.blue);
	}
}
代码注释
[!--zhushi--]

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!