FlowLayout(流式布局):
1.FlowLayout是Panel类的默认布局管理器,它使得按钮呈水平放置,直到同一条线上再也没有适合的按钮。线的对齐方式由 align 属性确定。
可能的值为: LEFT、RIGHT、CENTER、LEADING、TRAILING
2.流的方向取决于容器的 componentOrientation 属性,它可能是以下两个值中的一个:
ComponentOrientation.LEFT_TO_RIGHT
ComponentOrientation.RIGHT_TO_LEFT
3.不改变组件的大小,按组件原有尺寸显示组件,可设置不同的组件间距,行距以及对齐方式。
4.流式布局管理器默认的对齐方式是居中。
构造方法详细描述:
1.FlowLayout()构造一个新的 FlowLayout,它是居中对齐的,默认的水平和垂直间隙是 5 个像素。
2.FlowLayout(int align)构造一个新的 FlowLayout,它具有指定的对齐方式,默认的水平和垂直间隙是 5 个像素。
align 参数的值必须是以下值之一: FlowLayout.LEFT、 FlowLayout.RIGH、 FlowLayout.CENTER、 FlowLayout.LEADING、 FlowLayout.TRAILING。
参数: align - 对齐值
3.FlowLayout(int align,int hgap,int vgap)创建一个新的流式布局管理器,它具有指定的对齐方式以及指定的水平和垂直间隙。
align 参数的值必须是以下值之一: FlowLayout.LEFT、 FlowLayout.RIGHT、 FlowLayout.CENTER、 FlowLayout.LEADING、 FlowLayout.TRAILING。
参数:
align - 对齐值
hgap - 组件之间以及组件与 Container 的边之间的水平间隙
vgap - 组件之间以及组件与 Container 的边之间的垂直间隙
实例:
import java.awt.Button;
import java.awt.ComponentOrientation;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Toolkit;
import javax.swing.JFrame;
import javax.swing.JPanel;
/**
* @author Aiml
*
*/
public class FlowLayoutDemo extends JFrame {
/**
*
*/
private static final long serialVersionUID = 1L;
public FlowLayoutDemo(){
setSize(400,300);
setTitle("流式布局Demo");
Toolkit kit = Toolkit.getDefaultToolkit();
Dimension screenSize = kit.getScreenSize();
int x=(screenSize.width-400)/2;
int y=(screenSize.height-300)/2;
setLocation(x,y);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
/**
* 创建一个JPanel面板
*/
JPanel jpa = new JPanel();
/**
* 设置窗口中全部组件按从右向左的顺序排列
*/
jpa.applyComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
/**
* 无参的构造函数,居中对齐,水平和垂直间隙是 5 个像素。
* 当使用该构造函数的时候,与不写setLayout()函数同样效果。
*/
// jpa.setLayout(new FlowLayout());
/**
* 带对齐方式的构造函数,按指定的对齐方式对齐按钮,水平和垂直间隙是 5 个像素。
*/
// jpa.setLayout(new FlowLayout(FlowLayout.RIGHT));
/**
* 带对齐方式和水平、树枝间隙参数的构造函数,按指定的对齐方式对其按钮,
* 并且按钮水平间隙10像素,竖直间隙20像素
*/
jpa.setLayout(new FlowLayout(FlowLayout.LEFT,10,20));
for(int i = 1; i <= 20; i++){
jpa.add(new Button("按钮"+i));
}
Container c = this.getContentPane();
c.add(jpa);
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
FlowLayoutDemo frame = new FlowLayoutDemo();
frame.setVisible(true);
}
}