- java.lang.Object
-
- java.awt.GridLayout
-
- 实现的所有接口
-
LayoutManager,Serializable
public class GridLayout extends Object implements LayoutManager, Serializable
GridLayout类是一个布局管理器,它在矩形网格中布置容器的组件。 容器被分成相等大小的矩形,并且每个矩形中放置一个组件。 例如,以下是一个小程序,它将六个按钮分为三行和两列:
import java.awt.*; import java.applet.Applet; public class ButtonGrid extends Applet { public void init() { setLayout(new GridLayout(3,2)); add(new Button("1")); add(new Button("2")); add(new Button("3")); add(new Button("4")); add(new Button("5")); add(new Button("6")); } }
如果容器的
FiguresComponentOrientation属性是水平的并且从左到右,则上面的示例生成如图1所示的输出。如果容器的ComponentOrientation属性是水平的并且从右到左,则该示例生成如图2所示的输出。
Figure 1: Horizontal, Left-to-Right Figure 2: Horizontal, Right-to-Left
当行数和列数都已通过构造函数或
setRows和setColumns方法设置为非零值时,将忽略指定的列数。 而是根据指定的行数和布局中的组件总数确定列数。 因此,例如,如果指定了三行和两列并且将九个组件添加到布局中,则它们将显示为三行三列。 仅当行数设置为零时,指定列数才会影响布局。- 从以下版本开始:
- 1.0
- 另请参见:
- Serialized Form
-
-
构造方法摘要
构造方法 构造器 描述 GridLayout()在单行中创建一个网格布局,每个组件的默认值为一列。GridLayout(int rows, int cols)创建具有指定行数和列数的网格布局。GridLayout(int rows, int cols, int hgap, int vgap)创建具有指定行数和列数的网格布局。
-
方法摘要
所有方法 实例方法 具体的方法 变量和类型 方法 描述 voidaddLayoutComponent(String name, Component comp)将具有指定名称的指定组件添加到布局中。intgetColumns()获取此布局中的列数。intgetHgap()获取组件之间的水平间隙。intgetRows()获取此布局中的行数。intgetVgap()获取组件之间的垂直间隙。voidlayoutContainer(Container parent)使用此布局布置指定的容器。DimensionminimumLayoutSize(Container parent)使用此网格布局确定容器参数的最小大小。DimensionpreferredLayoutSize(Container parent)使用此网格布局确定容器参数的首选大小。voidremoveLayoutComponent(Component comp)从布局中删除指定的组件。voidsetColumns(int cols)将此布局中的列数设置为指定值。voidsetHgap(int hgap)将组件之间的水平间隙设置为指定值。voidsetRows(int rows)将此布局中的行数设置为指定值。voidsetVgap(int vgap)将组件之间的垂直间距设置为指定值。StringtoString()返回此网格布局值的字符串表示形式。
-
-
-
构造方法详细信息
-
GridLayout
public GridLayout()
在单行中创建一个网格布局,每个组件的默认值为一列。- 从以下版本开始:
- 1.1
-
GridLayout
public GridLayout(int rows, int cols)创建具有指定行数和列数的网格布局。 布局中的所有组件都具有相同的大小。rows和cols一个(但不是两个)可以为零,这意味着可以将任意数量的对象放置在行中或列中。- 参数
-
rows- 行,值为零表示任意行数。 -
cols- 列,值为零表示任意数量的列。
-
GridLayout
public GridLayout(int rows, int cols, int hgap, int vgap)创建具有指定行数和列数的网格布局。 布局中的所有组件都具有相同的大小。此外,水平和垂直间隙设置为指定值。 在每列之间放置水平间隙。 在每行之间放置垂直间隙。
rows和cols一个(但不是两个)可以为零,这意味着可以将任意数量的对象放置在行中或列中。所有
GridLayout构造函数都GridLayout这一个。- 参数
-
rows- 行,值为零表示任意行数 -
cols- 列,值为零表示任意数量的列 -
hgap- 水平间隙 -
vgap- 垂直间隙 - 异常
-
IllegalArgumentException- 如果rows和cols的值均设置为零
-
-
方法详细信息
-
getRows
public int getRows()
获取此布局中的行数。- 结果
- 此布局中的行数
- 从以下版本开始:
- 1.1
-
setRows
public void setRows(int rows)
将此布局中的行数设置为指定值。- 参数
-
rows- 此布局中的行数 - 异常
-
IllegalArgumentException- 如果rows和cols的值均设置为零 - 从以下版本开始:
- 1.1
-
getColumns
public int getColumns()
获取此布局中的列数。- 结果
- 此布局中的列数
- 从以下版本开始:
- 1.1
-
setColumns
public void setColumns(int cols)
将此布局中的列数设置为指定值。 如果构造函数或setRows方法指定的行数不为零,则设置列数不会影响布局。 在这种情况下,布局中显示的列数由组件总数和指定的行数确定。- 参数
-
cols- 此布局中的列数 - 异常
-
IllegalArgumentException- 如果rows和cols的值均设置为零 - 从以下版本开始:
- 1.1
-
getHgap
public int getHgap()
获取组件之间的水平间隙。- 结果
- 组件之间的水平间隙
- 从以下版本开始:
- 1.1
-
setHgap
public void setHgap(int hgap)
将组件之间的水平间隙设置为指定值。- 参数
-
hgap- 组件之间的水平间隙 - 从以下版本开始:
- 1.1
-
getVgap
public int getVgap()
获取组件之间的垂直间隙。- 结果
- 组件之间的垂直间隙
- 从以下版本开始:
- 1.1
-
setVgap
public void setVgap(int vgap)
将组件之间的垂直间距设置为指定值。- 参数
-
vgap- 组件之间的垂直间隙 - 从以下版本开始:
- 1.1
-
addLayoutComponent
public void addLayoutComponent(String name, Component comp)
将具有指定名称的指定组件添加到布局中。- Specified by:
-
addLayoutComponent接口LayoutManager - 参数
-
name- 组件的名称 -
comp- 要添加的组件
-
removeLayoutComponent
public void removeLayoutComponent(Component comp)
从布局中删除指定的组件。- Specified by:
-
removeLayoutComponent接口LayoutManager - 参数
-
comp- 要删除的组件
-
preferredLayoutSize
public Dimension preferredLayoutSize(Container parent)
使用此网格布局确定容器参数的首选大小。网格布局的首选宽度是容器中所有组件的最大首选宽度乘以列数,加上水平填充乘以列数减1,再加上目标容器的左右插入。
网格布局的首选高度是容器中所有组件的最大首选高度乘以行数,加上垂直填充乘以行数减1,再加上目标容器的顶部和底部插入。
- Specified by:
-
preferredLayoutSize接口LayoutManager - 参数
-
parent- 要在其中执行布局的容器 - 结果
- 布局指定容器的子组件的首选尺寸
- 另请参见:
-
minimumLayoutSize(java.awt.Container),Container.getPreferredSize()
-
minimumLayoutSize
public Dimension minimumLayoutSize(Container parent)
使用此网格布局确定容器参数的最小大小。网格布局的最小宽度是容器中所有组件的最小最小宽度乘以列数,加上水平填充乘以列数减1,再加上目标容器的左右插入。
网格布局的最小高度是容器中所有组件的最小最小高度乘以行数,加上垂直填充乘以行数减1,再加上目标容器的顶部和底部插入。
- Specified by:
-
minimumLayoutSize在界面LayoutManager - 参数
-
parent- 要在其中进行布局的容器 - 结果
- 布置指定容器的子组件所需的最小尺寸
- 另请参见:
-
preferredLayoutSize(java.awt.Container),Container.doLayout()
-
layoutContainer
public void layoutContainer(Container parent)
使用此布局布置指定的容器。此方法
GridLayout指定目标容器中的组件,以满足GridLayout对象的约束。网格布局管理器通过根据布局中的行数和列数将容器中的可用空间划分为相等大小的部分来确定各个组件的大小。 容器的可用空间等于容器的大小减去任何插入和任何指定的水平或垂直间隙。 网格布局中的所有组件都具有相同的大小。
- Specified by:
-
layoutContainer接口LayoutManager - 参数
-
parent- 用于布局的容器 - 另请参见:
-
Container,Container.doLayout()
-
-