2.FlowLayout
这种布局管理器的策略也非常简单,它是按照控件加入的先后顺序从左到右排列,一行排满了再换到下一行,然后继续从左到右排列。每一行的组件都是居中排列的。另外如果有些按钮看不到,可以使用方法pack自动调整Frame的大小,使得所有控件都显示出来。FlowLayout布局管理器同样是通过先创建对象、再利用其内置方法和变量来布局的组件。
有三种构造方法:
FlowLayout() :构造一个FlowLayout对象,它是居中对齐的,默认的水平和垂直间隙是五个单位。
FlowLayout(int align):构造一个FlowLayout对象,默认的水平和垂直间隙是五个单位。
FlowLayout(int align,int h,int v):创建一个新的流布局管理器,它具有指定的对齐方式以及指定的水平和垂直间隙。
首先写一个简单的FlowLayout的实例程序:
import java.awt.FlowLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class LayoutTest {
/**
* @param args
*/
static final int WIDTH = 300;
static final int HEIGHT = 300;
public static void main(String[] args) {
// TODO Auto-generated method stub
JFrame jf = new JFrame("LayoutTest");
jf.setSize(WIDTH,HEIGHT);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setVisible(true);
JPanel contentPane = new JPanel();
jf.setContentPane(contentPane);
JButton b1 = new JButton("one");
JButton b2 = new JButton("Two");
JButton b3 = new JButton("Three");
JButton b4 = new JButton("Four");
JButton b5 = new JButton("Five");
//将控件布局管理器设置为Flowlayout
contentPane.setLayout(new FlowLayout());
contentPane.add(b1);
contentPane.add(b2);
contentPane.add(b3);
contentPane.add(b4);
contentPane.add(b5);
jf.pack();
}
}
出来的效果是:
如果去掉最后的jf.pack()的那句,则是如下效果:
这个可以和别的布局结合起来用。例子就不写了。因为按钮比较多,篇幅比较长。