1、GridLayout——网格布局。依次从左到右从上到下添加组件。rows参数具有优先权,即当rows和cols都设定时,cols值将被忽略。每个组件占一格。
2、AbsoluteLayout——
3、BorderLayout——提供上下左右中,五个区域的布局,默认每个区域只能放置一个控件,故通常需要在每个区域先放置一个其它Layout或Panel,再在其中放置控件。具体如下:
4、BoxLayout——可以把控件依次进行水平、垂直布局,由参数X_AXIS、Y_AXIS来决定。X_AXIS表示水平布局,Y_AXIS表示垂直布局。
在使用BoxLayout时,通常与Box容器结合使用,Box容器提供了四个透明组件,分别是rigid area、strut、glue、filler。
- rigid area——可以向水平和垂直两个方向设定间距,利用它可以在水平和垂直两个方向的组件间形成间距。
- strut——可以在水平或垂直方向设定间距,其只能在一个方向上设值。Swing为此提供Box.createHorizontalStrut和Box.createHorizontalStrut两个方法。
- glue——将在水平或垂直方向尽可能占有最大空间。若把它放在两个控件间,会把控件向两边推开。Swing为此提供Box.createHorizontalGlue、Box.createHorizontalGlue和Box.createGlue三个方法。
- filter——本人还未使用过。在此不谈了。
例1:要将两个按钮放在页面的右侧,可以如下图进行布局:
先放置两个按钮,在“确定”按钮左侧放一个HorizontalGlue,两个按钮中间和取消按钮右侧可以放置一个HorizontalStrut,并设定所需间距。
例2:要将两个按钮水平居中放置,可以如下图进行布局:
先放置两个按钮,在“确定”按钮左侧和”取消“按钮右侧各放一个HorizontalGlue,两个按钮中间放置一个HorizontalStrut,并设定所需间距。
5、GridBagLayout——
6、GroupLayout——
7、FlowLayout——
8、CardLayout——
9、SpringLayout——
10、MigLayout——
11、FormLayout——