布局管理器
布局管理器:frame.setLayout();
默认值为new flowLayout()
- 流式布局
frame.setLayout(new FlowLayout(FlowLayout.RIGHT));
public class 流式布局 {
public static void main(String[] args) {
Button btn1 = new Button("btn1");
Button btn2 = new Button("btn2");
Button btn3 = new Button("btn3");
Button btn4 = new Button("btn4");
btn1.setSize(10,10);
btn2.setSize(10,10);
btn3.setSize(10,10);
btn4.setSize(10,10);
Frame frame = new Frame();
//设置流式布局
frame.setLayout(new FlowLayout(FlowLayout.RIGHT));
frame.setBounds(100,100,600,400);
frame.add(btn1);
frame.add(btn2);
frame.add(btn3);
frame.add(btn4);
frame.setVisible(true);
}
}
-
东西南北中
frame.setLayout(new BorderLayout());
public class 东西南北中 { public static void main(String[] args) { Frame frame = new Frame(); Button btn1 = new Button("btn1"); Button btn2 = new Button("btn2"); Button btn3 = new Button("btn3"); Button btn4 = new Button("btn4"); Button btn5 = new Button("btn5"); frame.setBounds(100,100,500,400); //设置布局管理器 frame.add(btn1,BorderLayout.EAST); frame.add(btn2,BorderLayout.WEST); frame.add(btn3,BorderLayout.SOUTH); frame.add(btn4,BorderLayout.NORTH); frame.add(btn5,BorderLayout.CENTER); frame.setVisible(true); } }
-
表格布局
frame.setLayout(new GridLayout(3, 2));//行列
public class 表格布局 {
public static void main(String[] args) {
Frame frame = new Frame();
frame.setBounds(100, 100, 200, 200);
//设置布局管理器
frame.setLayout(new GridLayout(3, 2));//行列
Button btn1 = new Button("btn1");
Button btn2 = new Button("btn2");
Button btn3 = new Button("btn3");
Button btn4 = new Button("btn4");
Button btn5 = new Button("btn5");
Button btn6 = new Button("btn6");
frame.add(btn1);
frame.add(btn2);
frame.add(btn3);
frame.add(btn4);
frame.add(btn5);
frame.add(btn6);
//frame.pack();//自动设置大小
frame.setVisible(true);//可视化
}
}
综合练习
布局管理器的综合应用
- Frame:顶级窗口
- Panel:面板,不能独立存在
- 布局管理器
- 流式布局 flowLayout
- 东西南北中 borderLayout
- 表格布局 gridLayout