一、Panel是AWT中的另一个典型的容器,它代表不能独立存在、必须放在其他容器中使用。

1、可作为容器来盛装其他组件,为放置组件提供空间。

2、不能单独存在,必须放置到其他容器当中。

3、默认使用FlowLayout作为布局管理器。

 1 public class PanelTest extends Frame
 2 {
 3     public static void main(String[] args)
 4     {
 5         Frame f = new Frame();
 6         Panel p = new Panel();
 7         p.add(new TextField(20));
 8         p.add(new Button("百度"));
 9         f.add(p);
10         f.setBounds(50, 50, 300, 300);
11         f.setVisible(true);
12     }
13 }

 

二、FlowLayout布局管理器

在FlowLayout布局管理器中,组件像流水一样向某方向流动(排列),遇到障碍(边界)就折回,重头开始排列。

三个构造器:

FlowLayout:使用默认的对齐方式及默认的垂直间距、水平间距创建FlowLayout布局管理器。

FlowLayout(int align):使用指定的对齐方式及默认的垂直间距、水平间距创建FlowLayout布局管理器。

FlowLayout(int align,int hgap,int vgap):使用指定的对齐方式及指定的垂直间距、水平间距创建FlowLayout布局管理器。

 1 public class FlowLayoutTest
 2 {
 3     public static void main(String[] args)
 4     {
 5         Frame f = new Frame();
 6         f.setLayout(new FlowLayout(FlowLayout.LEFT,20,5));
 7         Button b1 = new Button("a1");
 8         Button b2 = new Button("a2");
 9         Button b3 = new Button("a3");
10         f.add(b1);
11         f.add(b2);
12         f.add(b3);
13         f.pack();
14         f.setVisible(true);
15         
16     }
17 }

 

三、BorderLayout布局管理器

BorderLayout将容器分为EAST(东),SOUTH(南),WEST(西),NORTH(北),CENTER(中)五个区域,普通组件可以放在这5个区域中的任意一个。

构造器:

BorderLayout():使用默认的水平间距、垂直间距创建BorderLayout布局管理器

BorderLayout(int hgap,int vgap):使用指定的水平间距、垂直间距创建BorderLayout布局管理器。

 1 public class BorderLayoutTest extends Frame
 2 {
 3     public static void main(String[] args)
 4     {
 5         Frame f = new Frame();
 6         f.setLayout(new BorderLayout(30, 5));
 7         f.add(new Button("南"),BorderLayout.SOUTH);
 8         f.add(new Button("北"),BorderLayout.NORTH);
 9         f.add(new Button("中"));
10         f.add(new Button("东"),BorderLayout.EAST);
11         f.add(new Button("西"),BorderLayout.WEST);
12         
13         f.pack();
14         f.setVisible(true);
15     }
16 }

四、GridLayout布局管理器