范例3-gridlayout
import java.awt.*;
import java.awt.event.*;
import java.awt.event.ActionListener;
import java.util.EventListener;
public class gridlayout implements ActionListener
{

static TextField mytf=new TextField(14);


   
public static void main(String args[])

{
  
   Frame myf=new Frame("gridlayout test");
  
   Button b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,ba,bm,bd,be,bp,bt,bclear;
  
    gridlayout mygl=new gridlayout();
   
        mytf.setEditable(false);
       
   myf.add(mytf);
  
   myf.addWindowListener(new WindowAdapter()
  
   {
    public void windowClosing(WindowEvent e)
   
    {
     System.exit(0);
    
    }
   });
   myf.setLayout(new GridLayout(3,2));
  
   b7=new Button("7");
  
   b8=new Button("8");
  
   b9=new Button("9");
  
   bd=new Button("/");
  
   b4=new Button("4");
  
   b5=new Button("5");
  
   b6=new Button("6");
  
   bp=new Button("*");
  
   b1=new Button("1");
  
   b2=new Button("2");
  
   b3=new Button("3");
  
   bm=new Button("-");
  
   b0=new Button("0");
  
   bt=new Button(".");
  
  
   ba=new Button("+");
  
   be=new Button("=");
  
   bclear=new Button("clear");
  
   b1.addActionListener(mygl);
  
   b2.addActionListener(mygl);
  
   b3.addActionListener(mygl);
  
   b4.addActionListener(mygl);
  
   b5.addActionListener(mygl);
  
   b6.addActionListener(mygl);
  
   b7.addActionListener(mygl);
  
   b8.addActionListener(mygl);
  
   b9.addActionListener(mygl);
  
   b0.addActionListener(mygl);
  
   bt.addActionListener(mygl);
  
   bclear.addActionListener(mygl);
  
   myf.add(b7);
  
   myf.add(b8);
  
   myf.add(b9);
  
   myf.add(bd);
  
   myf.add(b4);
  
   myf.add(b5);
  
   myf.add(b6);
  
   myf.add(bp);
  
   myf.add(b1);
  
   myf.add(b2);
  
   myf.add(b3);
  
   myf.add(bm);
  
   myf.add(b0);
  
   myf.add(bt);
  
   myf.add(ba);
  
   myf.add(be);
  
   myf.add(bclear);
  
   myf.setSize(300,300);
  
   //myf.setResizable(false);
   myf.setVisible(true);
  
}
/**
* Method actionPerformed
*
*
* @param e
*
*/
public void actionPerformed(ActionEvent e) {
   if(e.getActionCommand()=="1")
  
     mytf.setText(mytf.getText()+"1");
    
     else if(e.getActionCommand()=="2")
    
     mytf.setText(mytf.getText()+"2");
    
     else if(e.getActionCommand()=="3")
    
     mytf.setText(mytf.getText()+"3");
    
     else if(e.getActionCommand()=="4")
    
     mytf.setText(mytf.getText()+"4");
    
     else if(e.getActionCommand()=="5")
    
     mytf.setText(mytf.getText()+"5");
    
     else if(e.getActionCommand()=="6")
    
     mytf.setText(mytf.getText()+"6");
    
     else if(e.getActionCommand()=="7")
    
     mytf.setText(mytf.getText()+"7");
    
      else if(e.getActionCommand()=="8")
     
     mytf.setText(mytf.getText()+"8");
    
     else if(e.getActionCommand()=="9")
    
     mytf.setText(mytf.getText()+"9");
    
     else if(e.getActionCommand()=="0")
    
     mytf.setText(mytf.getText()+"0");
    
     else if(e.getActionCommand()==".")
    
     mytf.setText(mytf.getText()+".");
    
     else if(e.getActionCommand()=="clear")
    
     mytf.setText("");
    
    
   // TODO: Add your code here
}

}
 
另: gridLayout里的component尺寸一样
    gridBagLayout里,component可以占用多个grid
    如果容器不可见,新layout管理器后前的component将跟随这个新的layout变化,如果容器可见,这些
component将不受后来的layout影响    
    如果某个方位有个component,如果你还往上面加component,后来的会覆盖原来的   
    如果只是add,而不写东南西北中,默认是中
    所有组件flowLayout会被压缩为它们的最小尺寸