可以将 GridBag 布局中的组件设置为跨多列或多行。可以在属性约束中进行此设置,也可以在“设计”视图中以可视方式拖动组件来进行此设置。
缺省情况下,当将组件放到 GridBag 布局中时,Visual Editor 将设置 x 和 y 值以将它指定给单元格。但是,组件有两个附加的约束,即 gridheight 和 gridwidth,它们是为每个组件实例化的 GridBagConstraints 对象的属性。
- gridheight 约束是一个整数,它指示组件应该跨的行数。
- gridwidth 约束是一个整数,它指示组件应该跨的列数。
要使用“设计”视图来以可视方式让组件跨 GridBag 行和列:
- 在 GridBag 布局中选择要跨多行或多列的组件。组件的周围将显示黑色的选择边框,该边框的右边和底部有两个绿色的框(即控制柄)。
- 单击并拖动任何一个绿色控制柄来使该组件跨越网格单元格。光标将显示正在跨至的网格单元格的 x,y 坐标。下图显示占用单个单元格的 JTable。注意右边的绿色控制柄,它可用来使组件跨列:

- 放开鼠标按键以完成跨越操作。将根据所跨的行数或列数来相应地设置网格宽度和网格高度约束。下图显示了在使同一个 JTable 跨三列之后的 JTable。现在,此组件的 gridwidth 设置为 3:

也可以使用“属性”视图来手工设置 GridBay 布局中的给定组件的网格高度和网格宽度。