import java.awt.*;
import javax.swing.*;
public class GridBagLayoutDemo extends JFrame{
public GridBagLayoutDemo(){
//创建网袋布局类对象、空间限制类对象,设置布局
super("GridBagLayout 演示");
Container c=getContentPane();//得到框架的内容窗格
GridBagLayout gb1=new GridBagLayout();//为容器设置布局管理器
GridBagConstraints gbc=new GridBagConstraints();
//创建空间限制对象
c.setLayout(gb1);//为容器设置布局管理器
//创建按钮b1,为其添加空间限制
JButton b1=new JButton("button1");
gbc.fill=GridBagConstraints.BOTH;
//gbc.insets=new Insets(0,0,0,10);//参数一次表示上左下右方向的间距
gbc.weightx=1.0;
gbc.weighty=1.0;
gb1.setConstraints(b1,gbc);
c.add(b1);
//创建按钮b2,为其添加空间限制
JButton b2=new JButton("button2");
//gbc.fill=GridBagConstraints.BOTH;
gbc.gridwidth=GridBagConstraints.REMAINDER;
gb1.setConstraints(b2,gbc);
c.add(b2);
//创建按钮b3,为其添加空间限制
JButton b3=new JButton("button3");
//gbc.weightx=0.0;
gb1.setConstraints(b3,gbc);
c.add(b3);
//创建按钮b4,为其添加空间限制
JButton b4=new JButton("button4");
gbc.gridwidth=1;
gbc.gridheight=2;//b4垂直方向跨越2行
gb1.setConstraints(b4,gbc);
c.add(b4);
//创建按钮b5,为其添加空间限制
JButton b5=new JButton("button5");
gbc.gridwidth=GridBagConstraints.REMAINDER;
gbc.gridheight=1;
gb1.setConstraints(b5,gbc);
c.add(b5);
//创建按钮b6,为其添加空间限制
JButton b6=new JButton("button6");
gbc.gridwidth=GridBagConstraints.REMAINDER;
gbc.gridheight=1;
gb1.setConstraints(b6,gbc);
c.add(b6);
}
public static void main(String[] args) {
JFrame frame=new GridBagLayoutDemo();//创建一个顶层容器
frame.setSize(500,150);
frame.setVisible(true);
}
}