import java.awt.*;
public class mygridbag extends Frame
{
TextArea txtArea;
TextField txtField;
Button btn1,btn2;
CheckboxGroup cbg;
Checkbox cb1,cb2,cb3,cb4;
GridbagLayout gb;
GridbagLayout gbc;
public mygridbag(String s)
{
super(s);
gb=new GridBagLayout();
setLayout(gb);

gbc=new GridBagConstraints();
txtArea=new TextArea("文本区",5,10);
txtField=txtField("输入你的姓名:");
btn1=new Button("确定");
btn2=new Button("取消");

cbg=new CheckboxGroup();
cb1=new Chcekbox("粗体",cbg,false);
cb1=new Chcekbox("粗体",cbg,false);
cb1=new Chcekbox("粗体",cbg,false);
cb1=new Chcekbox("粗体",cbg,false);
}
}

解决方案 »

  1.   

    看看GridBagConstraints的定义.
    参数1: X的位置, 从0开始
    参数2: y的位置, 从0开始
    参数3: 占据X的cell数量
    参数4: 占据Y的cell数量
    参数5: 横向扩展时分配到的比例, 0.0-->1.0, 0.0即不扩大, 1.0即撑满
    参数6: 纵向扩展时分配到的比例, 同上
    参数7: 组件在Cell中的位置, 共有9种: CENTER, NORTH, NORTHWEST, ...
    参数8: Cell扩展时组件的扩展情况, 共有4种: NONE, BOTH, ...
    参数9: 初始的宽度, 最好用0
    参数10: 初始的高度, 最好用0
    http://java.sun.com/j2se/1.4.2/docs/api/java/awt/GridBagLayout.html
    你说的是相对位置, 使用绝对位置比较的方便.