流式布局管理器
- FlowLayout流式布局管理器,是JPanel和JApplet的默认布局管理
- FlowLayout会将组件从上到下,从左到右的放置规律逐渐进行定位,直到占据这一行所在的空间,才会向下移动一行
- 与其它布局管理器不同的是,FlowLayout不限制它所管理的组件的大小,而是允许他们有自己的最佳大小
- 组件在每一行都是居中排列的,可以通过设置更改组件在每一行的排列位置
FlowLayout构造方法
- FlowLayout():创建一个布局管理器,使用默认的居中对齐方式和默认 5 像素的水平和垂直间隔
- FlowLayout(int align):创建一个布局管理器,使用默认 5 像素的水平和垂直间隔。其中,align 表示组件的对齐方式,对齐的值必须是FlowLayout.LEFT、FlowLayout.RIGHT 和 FlowLayout.CENTER,指定组件在这一行的位置是居左对齐、居右对齐或居中对齐
- FlowLayout(int align, int hgap,int vgap):创建一个布局管理器,其中 align 表示组件的对齐方式;hgap 表示组件之间的横向间隔;vgap 表示组件之间的纵向间隔,单位是像素
- FlowLayout.LEFT=0
- FlowLayout.CENTER=1
- FlowLayout.RIGHT=2
Demo01
import javax.swing.*;
import java.awt.*;
public class DemoFlowLayout {
public static void main(String[] args) {
JFrame jf = new JFrame("流式窗体");
Container container = jf.getContentPane();
//设置流式布局管理器为居中布局
container.setLayout(new FlowLayout(1));
// container.setLayout(new FlowLayout(FlowLayout.CENTER));
//向容器中添加10个按钮组件
for (int i = 0; i < 10; i++) {
container.add(new JButton("button"+(i+1)));
}
jf.setSize(300,200);
jf.setVisible(true);
jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
}
}
Demo01运行结果如下
Demo02
import javax.swing.*;
import java.awt.*;
public class DemoFlowLayout02 {
public static void main(String[] args) {
JFrame jf = new JFrame("流式窗体");
Container container = jf.getContentPane();
for (int i = 0; i < 10; i++) {
//向容器中添加按钮组件
container.add(new JButton("button"+(i+1)));
}
//设置容器背景色为灰色
container.setBackground(Color.gray);
//设置流式布局组件的水平和垂直方向上的间隔为10像素,向左对齐
jf.setLayout(new FlowLayout(0,10,10));
jf.setVisible(true);
jf.setSize(300,200);
jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
}
}
Demo02运行结果如下