布局是指容器內元件的排列。換句話說,布局將元件放置在容器內的特定位置。布局控制元件的任務由布局管理器自動完成。
布局管理器自動定位容器中的所有元件。即使不使用布局管理器,元件仍然由預設布局管理器定位。可以手動布置控制,但是由於以下兩個原因,它變得非常困難。
Java提供了各種布局管理器來定位控制元件。控制元件的大小,形狀和排列等屬性因布局管理器而異。當小應用程式或應用程式視窗的大小改變時,元件的大小,形狀和布置也響應地改變,即布局管理器適應小應用程式檢視器或應用程式視窗的維度。
布局管理器與每個Container
物件相關聯。每個布局管理器都是實現LayoutManager
介面的類的物件。
以下是定義布局管理器功能的介面。
編號 | 介面 | 描述說明 |
---|---|---|
1 | LayoutManager | LayoutManager 介面宣告需要由類實現的那些方法,其物件將充當布局管理器。 |
2 | LayoutManager2 | LayoutManager2 是LayoutManager 的子介面。此介面適用於那些知道如何基於布局約束物件布局容器的類。 |
以下是使用AWT設計GUI時常用控制元件的布局管理器類。
編號 | 布局管理器類 | |
---|---|---|
1 | BorderLayout | borderlayout 布局元件適合五個區域:東,西,北,南和中心。 |
2 | CardLayout | CardLayout 物件將容器中的每個元件視為卡片。一次只能看到一張卡片。 |
3 | FlowLayout | FlowLayout 是預設布局,它以方向流布局元件。 |
4 | GridLayout | GridLayout 以矩形網格的形式布局管理元件。 |
5 | GridBagLayout | 這是最靈活的布局管理器類。GridBagLayout 物件垂直,水平或沿其基線對齊元件,而不需要相同大小的元件。 |
6 | GroupLayout | GroupLayout 對元件進行分層分組,以便將它們放置在Container 中。 |
7 | SpringLayout | SpringLayout 根據一組約束定位其關聯容器的子項。 |