class="pt9-black1"> class="zhongdian1">2. BorderLayout
class="pt9-black1"> BorderLayout 是Window,Frame和Dialog的缺省布局管理器。BorderLayout布局管理器把容器分成5个区域:North,South,East,West和Center,每个区域只能放置一个组件。各个区域的位置及大小如下图所示:
class="pt9-black1">
class="pt9-black1"> class="pt9-black1">例5.5
class="pt9-black1"> class="tags" href="/tags/IMPORT.html" title=import>import java.awt.*;
class="pt9-black1"> public class class="tags" href="/tags/BUTTON.html" title=button>buttonDir{
class="pt9-black1"> public static void main(String args[]){
class="pt9-black1"> Frame f = new Frame("BorderLayout");
class="pt9-black1"> f.setLayout(new BorderLayout());
class="pt9-black1"> f.add("North", new Button("North"));
class="pt9-black1"> //第一个参数表示把按钮添加到容器的North区域
class="pt9-black1"> f.add("South", new Button("South"));
class="pt9-black1"> //第一个参数表示把按钮添加到容器的South区域
class="pt9-black1"> f.add("East", new Button("East"));
class="pt9-black1"> //第一个参数表示把按钮添加到容器的East区域
class="pt9-black1"> f.add("West", new Button("West"));
class="pt9-black1"> class="pt9-black1">//class="pt9-black1">第一个参数表示把按钮添加到容器的West区域
class="pt9-black1"> f.add("Center", new Button("Center"));
class="pt9-black1"> class="pt9-black1">//class="pt9-black1">第一个参数表示把按钮添加到容器的Center区域
class="pt9-black1"> f.setSize(200,200);
class="pt9-black1"> f.setVisible(true);
class="pt9-black1"> }
class="pt9-black1"> }
class="pt9-black1"> class="pt9-black1">在使用BorderLayout的时候,如果容器的大小发生变化,其变化规律为:组件的相对位置不变,大小发生变化。例如容器变高了,则North、South区域不变,West、Center、East区域变高;如果容器变宽了,West、East区域不变,North、Center、South区域变宽。不一定所有的区域都有组件,如果四周的区域(West、East、North、South区域)没有组件,则由Center区域去补充,但是如果Center区域没有组件,则保持空白,其效果如下几幅图所示:
class="pt9-black1">
class="pt9-black1"> North区域缺少组件
class="pt9-black1">
class="pt9-black1"> North和Center区域缺少组件
class="pt9-black1"> class="zhongdian1">3. GridLayout
class="pt9-black1"> 使容器中各个组件呈网格状布局,平均占据容器的空间。
class="pt9-black1"> class="pt9-black1">例5.6
class="pt9-black1"> class="tags" href="/tags/IMPORT.html" title=import>import java.awt.*;
class="pt9-black1"> public class ButtonGrid {
class="pt9-black1"> public static void main(String args[]) {
class="pt9-black1"> Frame f = new Frame("GridLayout");
class="pt9-black1"> f.setLayout(new GridLayout(3,2));
class="pt9-black1"> class="pt9-black1">//class="pt9-black1">容器平均分成3行2列共6格
class="pt9-black1"> f.add(new Button("1")); class="pt9-black1">//class="pt9-black1">添加到第一行的第一格
class="pt9-black1"> f.add(new Button("2")); class="pt9-black1">//class="pt9-black1">添加到第一行的下一格
class="pt9-black1"> f.add(new Button("3")); class="pt9-black1">//class="pt9-black1">添加到第二行的第一格
class="pt9-black1"> f.add(new Button("4")); class="pt9-black1">//class="pt9-black1">添加到第二行的下一格
class="pt9-black1"> f.add(new Button("5")); class="pt9-black1">//class="pt9-black1">添加到第三行的第一格
class="pt9-black1"> f.add(new Button("6")); class="pt9-black1">//class="pt9-black1">添加到第三行的下一格
class="pt9-black1"> f.setSize(200,200);
class="pt9-black1"> f.setVisible(true);
class="pt9-black1"> }
class="pt9-black1"> }