java窗口背景颜色的设定----setBackground()的用法

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

解决方法

办法A:在完成初始化,调用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);  //设置窗口可见
	}
}

办法B:直接加 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);
	}
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章