package test;
import java.awt.*;
import javax.swing.*;
public class TestLayoutNull extends JFrame{
JPanel jPanel1=new JPanel();
JPanel jPanel2=new JPanel();
Container contentPane=this.getContentPane();
public TestLayoutNull()throws Exception{
contentPane.add(jPanel1);
contentPane.add(jPanel2);
contentPane.setLayout(null);
jPanel1.setBackground(Color.RED);//红色的面板
jPanel2.setBackground(Color.GREEN);//绿色的面板
Rectangle r1=new Rectangle(0,0,400,50);
Rectangle r2=new Rectangle(0,50,400,390);
jPanel1.setBounds(r1);
jPanel2.setBounds(r2);
this.setVisible(true);
this.setSize(400,400);
}
public static void main(String[] args){
try{
new TestLayoutNull();
}
catch(Exception e){
e.printStackTrace();
}
}以上程序是在eclipse中运行的吗?
setVisible之后的操作也只有等到下一次画面更新的时候才能够体现出来。
也可以使用
setVisible(true);
setSize(400, 400);
this.validate();
这种方式来手动将组件的变更反映到画面上。