????4??GridBagLayout ???????????????????????????????????????λ????????????????и?????????GridBagConstraints???????11??????????????????????? GridBagConstraints(int gridx??int gridy??int gridwidth??int gridheight??double weightx??double weighty??int anchor??int fill?? Insets??int ipadx??int ipady);

????gridx??gridy????????????е?λ?????λ???????????????????????????????????λ?÷????

????gridwidth??gridheight ????????????????????????е??С????????????С??????????????????????????ο???

????weightx??weighty????????????????????????????С??????????????????????????????????????????仯??????

????anchor ????????????????????С????????÷???????

????fill ??????????????????????????п????λ???????????????????????????????????б???????

????Insets ?????????С????????????4??????????????????????????????????????????

????ipadx??ipady?????????????????????????Щ?????????????????б?????

?????о??к????????????????????????????????????????β????????????????????????????????????????


import javax.swing.*;
import java.awt.*;

public class GridBagLayout1 {   
public GridBagLayout1(){
     JFrame frame =new JFrame();
    
     GridBagLayout grid=new GridBagLayout();
     GridBagConstraints c1=new GridBagConstraints();
     frame.setLayout(grid);
    
     //?button1???????
     c1.gridwidth=2;     c1.gridheight=1;
     c1.insets=new Insets(5??5??0??0);        //??????????????5?????????5
     JButton button1=new JButton("button1");
     grid.setConstraints(button1??c1);
     frame.add(button1);
    
     //?button2???????
     c1.fill=GridBagConstraints.HORIZONTAL; 
     JButton button2=new JButton("button2");
     grid.setConstraints(button2??c1);
     frame.add(button2);   
    
     //?button3???????
     c1.gridx=0;          c1.gridy=1;          //??????0??1??λ??
     c1.gridwidth=4;         //??????4??????????????????           
     JButton button3=new JButton("button3");
     grid.setConstraints(button3??c1);
     frame.add(button3); 
     frame.setVisible(true);
     frame.setSize(200??150);
}
    public static void main(String[] args) {
          new GridBagLayout1();
    }

}