在 GridBagLayout 中自訂元件的佈置

您可以使用「自訂佈置」視窗,指定 GridBagLayout 內的元件之錨點位置、插入值、填入值、跨距、填補值和加權值。

在 GridBagLayout 中,視覺化編輯器使用限制項(例如填滿值、錨點值、加權值 x 和加權值 y)的預設值, 目的是為了讓元件有更好的顯示效果。比方說,當您放下 javax.swing.JTextField 時, 填滿值是設為 HORIZONTAL(JTextField 的預設值是 NONE), 而加權值 X 是設為 1(JTextField 的預設值是 0)。

當您從另一個佈置管理程式切換至 GridBagLayout 時, Java 視覺化編輯器會根據每一個元件的現有界限來產生其限制值。以 GridBagConstraints 代替空值佈置的優點, 是每一個元件都根據其偏好大小來進行調整。如果母視窗的大小變更,或者偏好大小在執行時期因為不同的語言字串而變更, 佈置管理程式會調整所有元件的大小和位置,讓空間獲得最佳運用。

如果要在 GridBagLayout 中自訂元件的佈置,請執行下列動作:

  1. 選取要在 GridBagLayout 中自訂的元件, 然後按一下自訂佈置 「自訂佈置」工具列按鈕工具列按鈕
    要訣:選取多個元件,同時在多個元件上設定相同的錨點、填滿和嵌入限制項。
    「自訂佈置」視窗會顯示 GridBagLayout 上所選元件的錨點位置、插入項、填入值、跨距、填補值和加權等值。 如果選了多個元件,而且所有元件的值都一樣,則錨點值和填滿值只會顯示一個按鈕。 所顯示的嵌入值,是針對上次所選的元件而設定。

    「自訂佈置」視窗

  2. 如果要調整元件的錨點位置,請按一下其中一個羅盤按鈕:
    • 西北方錨點 - 將元件放在網柵資料格的左上角。
    • 北方錨點 - 將元件放在網柵資料格的中央上方。
    • 東北方錨點 - 將元件放在網柵資料格的右上角。
    • 西方錨點 - 將元件放在網柵資料格的左方中央。
    • 中央錨點 - 將元件放在網柵資料格的中央。
    • 東方錨點 - 將元件放在網柵資料格的右方中央。
    • 西南方錨點 - 將元件放在網柵資料格的左下角。
    • 南方錨點 - 將元件放在網柵資料格的下方中央。
    • 東南方錨點 - 將元件放在網柵資料格的右下角。
  3. 如果要調整網柵資料格邊框與元件之間的填補範圍, 請在下列任一欄位中輸入一值(以像素為單位):
    • 上方 - 設定元件上方的嵌入值或填補值。
    • 左方 - 設定元件左方的嵌入值或填補值。
    • 下方 - 設定元件下方的嵌入值或填補值。
    • 右方 - 設定元件右方的嵌入值或填補值。
  4. 如果要調整元件在網柵資料格的分佈方式,請按一下下面兩個填滿按鈕或是其中一個:
    • 水平分佈 - 指定元件應該完全填滿網柵資料格的寬度。
    • 垂直分佈 - 指定元件應該完全填滿網柵資料格的高度。
  5. 如果要指定元件應跨越多少資料格, 請輸入寬度高度的值:
    • 寬度 - 指定元件佔用的直欄數目(X 軸)。
    • 高度 - 指定元件佔用的橫列數目(Y 軸)。
  6. 如果要指定元件的內部填補值, 請在下列欄位中輸入值(像素):
    • X -
    • Y -
  7. 如果要指定如何透過橫列或直欄分送額外的空間, 請輸入 XY 欄位的值(採用相對數值, 與指定給其他元件的加權值有關)。

    GridBagLayout 管理程式會計算直欄和橫列的加權值, 分別作為一個橫列和直欄中之所有元件的最大加權值 x 和加權值 y。如果產生的佈置小於它需要填滿的區域, 則會按照所指定加權值的比例,將佈置中的額外空間分送至直欄和橫列。加權值為零的資料格不會收到任何額外空間。

    比方說,如果在直欄 1、橫列 1 中的元件具有 3 的加權值 X, 而在直欄 2、橫列 1 中的元件具有 1 的加權值 X, 則橫列 1 中的加權值 X 值的總計會加總到 4, 因此在分送空間時,直欄 1 會收到 75% 的額外空間。

    • X - 指定在直欄之間分送額外空間的加權值。
    • Y - 指定在橫列之間分送額外空間的加權值。
相關作業
在 GridBagLayout 內新增或移動元件
讓元件跨越 GridBagLayout 資料格

(C) Copyright IBM Corporation 1999, 2004. All Rights Reserved.