1、如果網格布局對象未指定具體的“行數”和“列數”,那么它將擁有1行和動態的列數。

1 import java.awt.Button; 2 import java.awt.Frame; 3 import java.awt.GridLayout; 4 5 public class TestGridLayout { 6 7 public static void main(String[] args) { 8 9 Frame f = new Frame("TestGridLayout" ); 10 GridLayout gl = new GridLayout(); //創建無參的網格布局對象 11 12 Button bt1 = new Button("bt1" ); 13 Button bt2 = new Button("bt2" ); 14 Button bt3 = new Button("bt3" ); 15 Button bt4 = new Button("bt4" ); 16 //Button bt5 = new Button("bt5" ); 17 18 // 添加組件到容器 19 f.add(bt1); 20 f.add(bt2); 21 f.add(bt3); 22 f.add(bt4); 23 //f.add(bt5); 24 25 f.setLayout(gl); // 設置網格布局 26 f.setSize(400, 300); // 設置窗口大小 27 f.setVisible( true); // 設置窗口為可見 28 29 } 30 }
4個組件的效果:
5個組件的效果:
2、指定行數和列數的網格布局:new GirdeLayout(int rows,int cols);
2_1、如果指定 “行數”為非0,那么“列數”的自定義將被忽略;列數由“組件數”和“行數”決定。
比如:有5個組件,在rows=2,cols=1的網格布局中,將顯示為2行3列;
在rows=5,cols=2的網格布局中,將顯示5行1列;
2_2、僅在定義行數為0時,列數的定義才會生效。那么,此時行數並不是真的為0行,而是通過“列數”和“組件數”所決定。
比如:有5個組件,在在rows=0,cols=1的網格布局中,將顯示為5行1列。
如果在閱讀過程中發現了一些錯誤的地方,請不要吝嗇您的評論。希望能和大家共同進步!謝謝!