到目前為止,所有的程序片都被建立,看起來使用一些不可思議的內部邏輯來布置它們的組件。那是因為程序使用一個默認的方式:FlowLayout。這個簡單的“Flow”的組件安裝在窗體中,從左到右,直到頂部的空格全部再移去一行,並繼續循環這些組件。
這裡有一個例子明確地(當然也是多余地)設置一個程序片的布局管理器去FlowLayout,然後在窗體中安放按鈕。我們將注意到FlowLayout組件使用它們本來的大小。例如一個按鈕將會變得和它的字串符一樣的大小。
//: FlowLayout1.java
// Demonstrating the FlowLayout
import java.awt.*;
import java.applet.*;
public class FlowLayout1 extends Applet {
public void init() {
setLayout(new FlowLayout());
for(int i = 0; i < 20; i++)
add(new Button("Button " + i));
}
} ///:~
所有組件將在FlowLayout中被壓縮為它們的最小尺寸,所以我們可能會得到一些奇怪的狀態。例如,一個標簽會合適它自已的字符串的尺寸,所以它會右對齊產生一個不變的顯示。