JAVA中AWT的佈局管理
佈局管理器是容器類的特性,每種容器都有一種預設的佈局管理器。
在java.awt中共提供了5個佈局管理類,分別是FlowLayout,BorderLayout,CardLayout,GridLayout,GridBagLayout,每一個佈局類都對應一種佈局策略,它們都是java.lang.Object的子類。
1.BorderLayout類
BorderLayout(邊佈局)的策略是將被劃分為東西南北中,分別用East,West,South,North,Center表示。往容器中加入元件都要指定放在哪個區域。
BorderLayout類的構造方法:
BorderLayout() //建立新的Borderlayout佈局
BorderLayout(int hgap,int vgap) //建立元件之間水平與垂直間距分別為hgap與vgap個畫素的佈局
向容器中新增BorderLayout類佈局管理器的事例:
偽碼
frm //視窗物件
lagout //佈局管理器物件
butt //按鈕物件
frm.setLayout(layout); //給frm添加布局管理器layout
frm.add(butt,BorderLayout.NORTH); //將按鈕元件定位在視窗北部,其他方向同理
2.FlowLayout類
FlowLayout類(流式佈局)的佈局策略提供按行佈局元件方式,將元件按照從左到右,從上到下的順序排列
FlowLayout類的構造方法:
FlowLayout() //建立FlowLayout佈局,元件使用預設的居中對齊方式,各元件的垂直與水平間距都是5畫素
FlowLayout(int align) //建立FlowLayout佈局,對齊方式為指定的align,align的取值有FlowLayout.LEFI,FlowLayout.CENTER,FlowLayout.RIGHT,分別代表靠左,中間,靠右對齊,各元件的垂直與水平距離是5畫素
容器中新增FlowLayout類佈局的例子:
偽碼
frm //視窗物件
but1 but2 //按鈕物件
txt1,txt2 //文字行物件
layout //FlowLayout佈局物件
frm.setLayout(layout);
frm.add(but1);
frm.add(but2);
frm.add(txt1);
frm.add(txt2);
3.GridLayout類
GridLayout類(網格佈局)管理器將容器劃分為大小相等的若干行,若干列的網格,元件按照從左到右,從上到下的順序依次放入各網格中,每個元件佔滿一格,如果元件數比網格數多,系統將自動增加網格數,如果元件數比網格數少,未用的網格區空閒。
GridLayout類的構造方法:
GridLayout() //建立具有一行一列的GridLayout佈局
GridLayout(int rows,int cols) //建立具有rows行,cols列的GridLayout佈局
GridLayout(int rows,int cols,int hgap,int vgap) // 建立具有rows行,cols列的的的GridLayout佈局,元件的行間距和列間距分別為hgap和vgap畫素
容器中新增GridLayour類佈局的事例:
偽碼
frm //視窗物件
layout //GridLayout物件
num[i] //Sting類陣列
frm.setLayout(layout);
for(int j=0;j<i;j++)
{
frm.add(new Button(num[j]));
}