Java学习-GUI编程-3种布局管理
- 流式布局
- 包围式布局
- 表格布局
流式布局
public class TestFlowLayout {
public static void main(String[] args) {
Frame frame = new Frame();
Button b1 = new Button("I'm a button");
Button b2 = new Button("I'm a button too");
Button b3 = new Button("I'm button three");
//设置为流式布局
frame.setLayout(new FlowLayout());
frame.setSize(200,200);
frame.setVisible(true);
frame.add(b1);
frame.add(b2);
frame.add(b3);
}
}
左对齐:
frame.setLayout(new FlowLayout(FlowLayout.LEFT));
包围式布局
public class TestBorderLayout {
public static void main(String[] args) {
Frame frame = new Frame("TestBorderLayout");
Button e = new Button("East");
Button w = new Button("West");
Button s = new Button("South");
Button n = new Button("North");
Button c = new Button("Center");
frame.add(e,BorderLayout.EAST);
frame.add(w,BorderLayout.WEST);
frame.add(s,BorderLayout.SOUTH);
frame.add(n,BorderLayout.NORTH);
frame.add(c,BorderLayout.CENTER);
frame.setVisible(true);
frame.setBounds(200,200,400,400);
}
}
表格布局
public class TestFridLayout {
public static void main(String[] args) {
Frame frame = new Frame("TestGridLayout");
Button b1 = new Button("b1");
Button b2 = new Button("b2");
Button b3 = new Button("b3");
Button b4 = new Button("b4");
Button b5 = new Button("b5");
Button b6 = new Button("b6");
frame.setLayout(new GridLayout(3,2));
frame.add(b1);
frame.add(b2);
frame.add(b3);
frame.add(b4);
frame.add(b5);
frame.add(b6);
frame.setVisible(true);
frame.setBounds(200,200,400,400);
}
}
三种布局可以嵌套
public class TestLayout {
public static void main(String[] args) {
Frame frame = new Frame("嵌套布局");
frame.setVisible(true);
frame.setBounds(200,200,400,400);
frame.setLayout(new GridLayout(2,1));
Panel p1 = new Panel(new BorderLayout());
Panel p2 = new Panel(new BorderLayout());
Panel p3 = new Panel(new GridLayout(3,1));
Panel p4 = new Panel(new BorderLayout());
p1.add(new Button("east"),BorderLayout.EAST);
p1.add(new Button("west"),BorderLayout.WEST);
p3.add(new Button("up"));
p3.add(new Button("center"));
p3.add(new Button("down"));
p1.add(p3,BorderLayout.CENTER);
p2.add(new Button("left"),BorderLayout.WEST);
p2.add(new Button("right"),BorderLayout.EAST);
p4.add(new Button("east"),BorderLayout.EAST);
p4.add(new Button("west"),BorderLayout.WEST);
p4.add(new Button("south"),BorderLayout.SOUTH);
p4.add(new Button("north"),BorderLayout.NORTH);
p4.add(new Button("center"),BorderLayout.CENTER);
p2.add(p4,BorderLayout.CENTER);
frame.add(p1);
frame.add(p2);
frame.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
}
}