初始布局后,使用Panel进行再布局操作
package Java.GUI.LayoutExample;
import java.awt.*;
public class Buttons {
public static void main(String[] args) {
Button but1 = new Button("but1");
Button but2 = new Button("but2");
Button but3 = new Button("but3");
Button but4 = new Button("but4");
Button but5 = new Button("but5");
Button but6 = new Button("but6");
Button but7 = new Button("but7");
Button but8 = new Button("but8");
Button but9 = new Button("but9");
Button but10 = new Button("but10");
Button but11= new Button("but11");
Button but12= new Button("but12");
Frame frame = new Frame("这是个测试");
frame.setVisible(true);
frame.setSize(400,400);
frame.setLayout(new GridLayout(2,1));
Panel p1 = new Panel();
Panel p2 = new Panel();
p1.setLayout(new BorderLayout());
p2.setLayout(new GridLayout(2,1));
p2.add(but1);
p2.add(but2);
p1.add(but3,BorderLayout.WEST);
p1.add(p2,BorderLayout.CENTER);
p1.add(but4,BorderLayout.EAST);
Panel p3 =new Panel();
Panel p4 = new Panel();
p3.setLayout(new BorderLayout());
p4.setLayout(new GridLayout(2,2));
p4.add(but5);
p4.add(but6);
p4.add(but7);
p4.add(but8);
p3.add(but9,BorderLayout.WEST);
p3.add(p4,BorderLayout.CENTER);
p3.add(but10,BorderLayout.EAST);
frame.add(p1);
frame.add(p3);
}
}
实验效果如下所示
- 先理清思路 将对应的Frame 通过第一次布局管理器分隔为 2行1列
- 分成四个Panle 上下两个Panel 进行再部署 中间两个Panel进行再部署
- 上下采用BorderLayout 进行部署 中间采用GridLayout部署
- 关于Panel 是一种可以进行重复布局的东西
常用的三种布局方式
流式布局 FlowLayout
流式布局 流水一般的布局方式 可以选择开始流水的地方是前中后哪里
东南西北中 布局方式 BorderLayout
放入部件 以及输入放置的对应位置
表格布局 GridLayout