GridBagLayout網格包佈局管理器

GridBagLayout    

       靈活也難以掌控的佈局管理器,每個 GridBagLayout 對象維持一個動態的矩形單元網格,每個組件佔用一個或多個這樣的單元,該單元被稱爲顯示區域

     組件可以由程序選擇存放位置Constraints 對象指定組件的顯示區域在網格中的具體放置位置,以及組件在其顯示區域中的放置方式,考慮每個組件的最小大小和首選大小,以確定組件的大小。

     GridBagLayout對每個組件施加空間控制是通過類 GridBagConstraints 來實現的。


import java.awt.*;

public class GridBagLayout01{    
    public static void main(String args[]){
        Frame f=new Frame("GridBagLayout網格包佈局的演示");
        Panel p=new Panel();
        GridBagLayout gbl=new GridBagLayout();
        GridBagConstraints gbc=new GridBagConstraints();
        Button b=new Button("確定");
        //Checkbox複選框
        Checkbox cb0=new Checkbox("one",true,null);
        Checkbox cb1=new Checkbox("two",false,null);
        //創建標籤
        Label la=new Label("性別:");
        //CheckboxGroup用於集合 Checkbox複選框的按鈕集成單選了
        CheckboxGroup cbg=new CheckboxGroup();
        //創建單選按鈕
        Checkbox cb3=new Checkbox("男",true,cbg);
        Checkbox cb4=new Checkbox("女",false,cbg);
        //創建文本框
        TextField name=new TextField("name");
        TextField name1=new TextField("姓名",5);
        //創建列表
        List l=new List(2);
        //向列表添加內容
        l.add("Sun");
        l.add("Moon");
        l.add("Swing");
        //設置板面佈局
        p.setLayout(gbl);
              
        gbc.gridwidth=GridBagConstraints.REMAINDER;//設置網格寬度  
        gbc.gridheight=1;
        gbl.setConstraints(name, gbc);
        gbl.setConstraints(name1, gbc);
        p.add(name);p.add(name1);
        
        gbc.gridwidth=3;
        gbc.gridheight=1;
        gbl.setConstraints(la, gbc);
        gbl.setConstraints(cb3, gbc);
        gbl.setConstraints(cb4, gbc);
        p.add(la);p.add(cb3);p.add(cb4);
        //設置網格包管理約束
        gbc.gridwidth=GridBagConstraints.REMAINDER;//設置網格寬度  
        gbl.setConstraints(cb0, gbc);
        gbl.setConstraints(cb1, gbc);
        //向板面添加組件
        p.add(cb0);p.add(cb1);
        
        
        //設置寬高
        gbc.gridwidth=1;
        gbc.gridheight=1;
        gbl.setConstraints(l, gbc);
        p.add(l);
        gbc.gridwidth=GridBagConstraints.CENTER;
        gbl.setConstraints(b, gbc);
        p.add(b);
        
        f.add(p,"Center");
        f.pack();
        f.setSize(400, 300);
        f.setVisible(true);
    }
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章