java窗口背景颜色设置

窗口背景颜色是指直接调用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);
	}
}

相关文章教程推荐:java入门教程

相关文章

应用场景 C端用户提交工单、工单创建完成之后、会发布一条工...
线程类,设置有一个公共资源 package cn.org.chris.concurre...
Java中的数字(带有0前缀和字符串)
在Java 9中使用JLink的目的是什么?
Java Stream API Filter(过滤器)
在Java中找到正数和负数数组元素的数量