1. 程式人生 > >JAVA中AWT的佈局管理

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]));

        }