布局管理器(三)——Gridlayout

      GridLayout(网格布局管理器)将可用空间划分为网格单元,平均分配每个网格单元的空间,它的每个单元大小都是一样的。按行列排列在每个单 元中放置一个组件。当容器大小改变时,网格单元中放置每个组件尺寸也随之改变(注意;GridLayout不会考虑组件的首选尺寸,而是按照网格单元空间 的大小来放置组件)。

      在创建GridLayout实例的时候,一般需要指定GridLayout的行数和列数,还可以指定相邻组件之间的水平间隔和垂直间隔。不过实例化之后也 可以使用setRows()、setColumns()、setHgap()和setVgap()方法来设置这些值。创建GridLayout的时候,可 以指定行数或者列数为0,但不能同时为0,如果行数为0,则GridLayout会根据指定的列数创建足够多的行,以便显示所有组件。同样,如果指定列数 为0,泽GridLayout会根据指定的行数来创建足够多的列,以便容纳所有组件。

     GridLayout不使用约束判断组件的位置和尺寸,因此向GridLayout管理的容器添加组件时,应该使用add(Component)方法。 GridLayout不会考虑子组件的getPreferredSize()、getMinimumSize()和getMaximumSize()方 法。也就是说组件会被压缩或者拉伸以填充网格单元,因此组件的尺寸会小于最小尺寸或者大于最大尺寸。容器添加子组件的顺序是从左到右,从上到下。


参考:

1.《 Pro Java Programming(Second Edition)

 2.《 Core Java I

你可能感兴趣的:(java,GridLayout)