它直接将组件从左到右“流动”到窗体上,直到占满上方的空间,然后向下移动一行,继
续流动。
在下面的例子中,先把布局管理器设置为FlowLayout,然后在窗体上放置按钮。你将注意
到,在使用FlowLayout的情况下,组件将呈现出“合适”的大小。比如,一个JButton的
大小就是其标签的大小。
//: c14:FlowLayout1.java
// Demonstrates FlowLayout.
// <applet code=FlowLayout1 width=300 height=250></applet>
import javax.swing.*;
import java.awt.*;
import com.bruceeckel.swing.*;
public class FlowLayout1 extends JApplet {
public void init() {
Container cp = getContentPane();
cp.setLayout(new FlowLayout());
for(int i = 0; i < 20; i++)
cp.add(new JButton("Button " + i));
}
public static void main(String[] args) {
Console.run(new FlowLayout1(), 300, 250);
}
} ///:~
使用FlowLayout,所有的组件将被压缩到它们的最小尺寸,所以可能会得到令你惊讶的效
果。比如,在使用FlowLayout的时候,因为JLabel的尺寸就是其字符串的尺寸,这就使得
续流动。
在下面的例子中,先把布局管理器设置为FlowLayout,然后在窗体上放置按钮。你将注意
到,在使用FlowLayout的情况下,组件将呈现出“合适”的大小。比如,一个JButton的
大小就是其标签的大小。
//: c14:FlowLayout1.java
// Demonstrates FlowLayout.
// <applet code=FlowLayout1 width=300 height=250></applet>
import javax.swing.*;
import java.awt.*;
import com.bruceeckel.swing.*;
public class FlowLayout1 extends JApplet {
public void init() {
Container cp = getContentPane();
cp.setLayout(new FlowLayout());
for(int i = 0; i < 20; i++)
cp.add(new JButton("Button " + i));
}
public static void main(String[] args) {
Console.run(new FlowLayout1(), 300, 250);
}
} ///:~
使用FlowLayout,所有的组件将被压缩到它们的最小尺寸,所以可能会得到令你惊讶的效
果。比如,在使用FlowLayout的时候,因为JLabel的尺寸就是其字符串的尺寸,这就使得
文本右对齐不会产生任何视觉上的效果。