public class TestBorderLayout {
public static void main(String[] args) {
Frame frame = new Frame("CAMP");
frame.setVisible(true);
frame.setBounds(400,300,400,300);
frame.setLayout(new GridLayout(2,1));
//四个面板
Panel p1= new Panel(new BorderLayout());
Panel p2= new Panel(new GridLayout(2,1));
Panel p3= new Panel(new BorderLayout());
Panel p4= new Panel(new GridLayout(2,2));
//上面
p1.add(new Button("east"),BorderLayout.EAST);
p1.add(new Button("west"),BorderLayout.WEST);
p2.add(new Button("p2-1"));
p2.add(new Button("p2-2"));
p1.add(p2,BorderLayout.CENTER);//把表格挂在p1上;
//------------------------------------------------------------
//下面
p3.add(new Button("east"),BorderLayout.EAST);
p3.add(new Button("west"),BorderLayout.WEST);
for (int i=0;i<4;i++){
p4.add(new Button("p"+i));
};
p3.add(p4,BorderLayout.CENTER);//同样挂上
frame.add(p1);
frame.add(p3);
frame.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
}
}
![](https://i-blog.csdnimg.cn/blog_migrate/19590e7a934bf5beca4c80daeff36b12.png)
- 第一步先思考,考虑怎样通过嵌套实现页面设计
- 在写之前,不清楚panel也可设计格式
- 将一个panel嵌套在另一个panel上,也可以设计放在哪个位置
- 位置设计好之后,会自动将button的比例进行适配,写之前一直担心无关的panel之间相互重叠。