流(FlowLayout)布局管理器是最基本的布局管理器,在整个容器中的布局,像“流”一样从左到右摆放组件,直到占据了这一行的所有空间,然后再向下移动一行。默认情况下,组件在每一行都是居中排列的,但是通过设置也可以更改组件在每一行上的排列位置。
FlowLayout类中常用的构造方法:
- public FlowLayout().
- public FlowLayout(int alignment).
- public FlowLayout(int alignment,int horizGap,int vertGap).
构造方法中的alignment参数表示使用流布局管理器后组件在每一行的具体摆放位置。它可以被赋予以下3个值之一:
- FlowLayout.LEFT=0.
- FlowLayout.CENTER=1.
- FlowLayout.RIGHT=2.
上述3个值分别代表容器使用流布局管理器后组件在每一行中的摆放位置。例如,将alignment设置为0时,每一行的组件将被指定按照左对齐排列;而将alignment设置为2时,每一行的组件将被指定为按照右对齐排列。
在public FlowLayout(int alignment,int horizGap,int vertGap)构造方法中horizGap与vertGap这两个参数分别以像素为单位指定组件之间的水平间隔与垂直间隔。
实例
import java.awt.Container;
import java.awt.FlowLayout;
import javax.swing.*;
public class Demo3 extends JFrame{
public Demo3() {
setBounds(100,100,300,300);//设置窗体坐标和大小
setDefaultCloseOperation(EXIT_ON_CLOSE);//设置窗体关闭规则,关闭窗口时关闭程序
Container c = getContentPane();
c.setLayout(new FlowLayout(FlowLayout.LEFT,20,20));//设置窗体使用流布局管理器,组件右对齐,并设置组件之间的水平间隔与垂直间隔
for(int i=0;i<10;i++)//在容器中循环添加10个按钮
{
c.add(new JButton("按钮"+i));
}
setVisible(true);//设置窗体为可见
}
public static void main(String[] args) {
new Demo3();
}
}
实验结果
如果改变整个窗体的大小,,其中组件的摆放位置也会发生变化,这验证了使用流布局管理器时组件从左到右摆放,当组件填满一行后,将自动换行,直到所有的组件都摆放到容器中为止。