用GridLayout布局的时候,比如说setLayout(new GridLayout(2,2));分为4格。我想在第1个格放一个label第3个格放一个label,1、4留空,怎么做,我看add方法都是顺序放的,没办法跳过的吗?

解决方案 »

  1.   

    1和4 就.add(new Label()); 好了
      

  2.   

    可以将第1格的horizontalSpan  (设置网格占有的列数目,默认为1)设置为2,使它占两列的位置。
      

  3.   

    GridLayoutGridLayout是一个非常强大的布局管理器,它可以实现很多复杂的布局,名字中暗示它将所有控件放置在类似网格的布局中.^__^GridLayout有两个构造函数.GridLayout的构造函数
    构造函数 描述 
    public GridLayout()  建立一个默认的GridLayout布局. 
    public GridLayout(int numColumns, boolean makeColumnsEqualWidth) 建立一个GridLayout布局,拥有numColumns列,如果makeColumnsEqualWidth为true,则全部组件将拥有相同的宽度. 
    GridLayout有6个公共的数据成员,相对重要的是numColumns.GridLayout数据成员
    属性 描述 
    int horizontalSpacing 控制一行中两个网格间组件的宽度,像素为单位. 
    boolean makeColumnsEqualWidth  如果为true,强制全部的列拥有相同的宽度. 
    int marginHeight 控制顶部和底部组件离边缘的距离空间,以像素为单位. 
    int marginWidth  控制左边和右边组件离边缘的距离空间,以像素为单位. 
    int numColumns  此GridLayout的列数目. 
    int verticalSpacing 控制一列中两个网络间组件的宽度,像素为单位. 
    你能使用GridLayout设置GridData类来布局更多的复杂组件.GridData有两个构造函数.GridData构造函数
    构造函数 描述 
    public GridData()  创建默认一个默认的GridData对象. 
    public GridData(int style)  初始化指定的style风格布局. 
    和其它的布局类一样,GridLayout也提供一些公共的数据成员控制它的状态,它也提供一些常量,你可以在在构造成函数中使用.你可以用过位标志"|"来连接几个不同的效果,但请注意风格不要起冲突.GridData数据成员 
    属性 描述 
    boolean grabExcessHorizontalSpace  如果为true,指示布局器中网格自动填充多余的水平空间,默认为false. 
    boolean grabExcessVerticalSpace  如果为true,指示布局器中网格自动填写多余的垂直空间,默认为false. 
    int heightHint 该行中最小的高度,以像素为单位,默认为SWT.DEFAULT. 
    int horizontalAlignment  网格中组件水平对齐方式,可能的值为BEGINNING, CENTER, END,和FILL. 
    int horizontalIndent  与左边网格的水平缩进,默认为0 
    int horizontalSpan  设置网格占有的列数目,默认为1 
    int verticalAlignment  网格中组件垂直对齐方式,可能的值为BEGINNING, CENTER, END,和FILL. 
    int verticalSpan  设置网格占有的行数目,默认为1 
    int widthHint  该列中最小的宽度,以像素为单位,默认为SWT.DEFAULT. GridData常量 
    常量 描述 
    BEGINNING 非style值,指定水平或垂直的对齐方式. 
    CENTER 非style值,指定组件在网格中居中,水平或垂直. 
    END 非style值,指定水平或垂直的对齐方式. 
    FILL 非style值,指定组件填充网格,水平或垂直. 
    FILL_BOTH 设置horizontalAlignment和verticalAlignment为FILL,设置grabExcessHorizontalSpace和grabExcessVerticalSpace为true. 
    FILL_HORIZONTAL 设置horizontalAlignment为FILL,和设置grabExcessHorizontalSpace为true. 
    FILL_VERTICAL 设置verticalAlignment为FILL,和设置grabExcessVerticalSpace为true. 
    GRAB_HORIZONTAL 设置grabExcessHorizontalSpace为true. 
    GRAB_VERTICAL 设置grabExcessVerticalSpace为true. 
    HORIZONTAL_ALIGN_BEGINNING 设置horizontalAlignment为BEGINNING. 
    HORIZONTAL_ALIGN_CENTER 设置horizontalAlignment为CENTER. 
    HORIZONTAL_ALIGN_END 设置horizontalAlignment为END. 
    HORIZONTAL_ALIGN_FILL 设置horizontalAlignment为FILL. 
    VERTICAL_ALIGN_BEGINNING 设置verticalAlignment为BEGINNING. 
    VERTICAL_ALIGN_CENTER 设置verticalAlignment为CENTER. 
    VERTICAL_ALIGN_END 设置verticalAlignment为END. 
    VERTICAL_ALIGN_FILL 设置verticalAlignment为FILL. 
      

  4.   

    GALFORDD(風来のシレン) 的方法倒是可以,(hillspring(高山流水) ,horizontalSpan没找到啊。
      

  5.   

    哦,你说的是Swing吧,我这个是SWT/JFace里面的。抱歉……