使用 GirdBagLayout 前,必須要有以下設定:
Container cp=getContentPane(); //容器
cp.setLayout(new GridBagLayout()); //容器配置使用 GridBagLayout
GridBagConstraints gbc =new GridBagConstraints(); //控制 GridBagLayout 的物件
下列為 GridBagConstraints 類別的屬性與 method:
欄位
|
作用
|
int anchor
|
當元件小於其顯示區域時才用
|
static int BOTH
|
重新訂定元件之寬度及高度
|
static int CENTER
|
將元件置於顯示區域之中央位置
|
static int EAST
|
將元件置於顯示區域之右側位置,並 於垂直做置中對齊
|
int fill
|
當顯示區域大於元件所需之大小才用 此欄位
|
int gridheight
|
指定元件顯示區域之列數
|
int gridwidth
|
指定元件顯示區域之行數
|
int gridx
|
指定元件顯示區域左側之表格
|
int gridy
|
指定元件顯示區域上方之表格
|
static int HORIZONTAL
|
重新設定元件之水平位置
|
Insets insets
|
指定元件外側之間距
|
int ipadx
|
指定元件內側之間距x
|
int ipady
|
指定元件內側之間距y
|
static int NONE
|
表示元件之大小位置不重新設定
|
static int NORTH
|
將元件置於顯示區域之上方位置,並 於水平做置中對齊
|
static int NORTHEAST
|
將元件置於顯示區域之右上角
|
static int NORTHWEST
|
將元件置於顯示區域之左上角
|
static int RELATIVE
|
指定元件為其行或列上最後一個元件 之下一個元件,或上一次增加元件之下一個元件
|
static int REMAINDER
|
指定元件為其行或列上之最後一個元 件
|
static int SOUTH
|
將元件置於顯示區域之下方位置,並 於水平做置中對齊
|
static int SOUTHEAST
|
將元件置於顯示區域之右下方位置
|
static int SOUTHWEST
|
將元件置於顯示區域之左下方位置
|
static int VERTICAL
|
重新設定元件之垂直位置,但不設定 其水平位置
|
double weightx
|
指定其它水平空間的配置方式
|
double weighty
|
指定其它垂直空間的配置方式
|
static int WEST
|
將元件置於顯示區域之左側位置,並 於垂直做置中對齊
|
例如設計兩個並排的按鈕,其中 B 按鈕的寬度大於 A 按鈕兩倍:
gbc.gridx=0;gbc.gridy=0;
cp.add(new JButton("A"),gbc);
gbc.gridx=1;gbc.gridwidth=2;
cp.add(new JButton("B"),gbc);
請注意!僅宣告一個 GridBagConstraints 物件控制數個元件時,要留意前面設定過的屬性將影響後面的設定,所以必要時,必須將元件加入容器後,再重新設定為初始值。
參考資料:
沒有留言:
張貼留言