Swing Layout布局


布局是指容器內元件的排列。換句話說,布局將元件放置在容器內的特定位置。布局控制元件的任務由布局管理器自動完成。

布局管理器

布局管理器自動定位容器中的所有元件。即使不使用布局管理器,元件仍然由預設布局管理器定位。可以手動布置控制,但是由於以下兩個原因,它變得非常困難。

  • 處理容器內的大量控制元件非常繁瑣。
  • 通常,當需要排列它們時,不給出元件的寬度和高度資訊。

Java提供了各種布局管理器來定位控制元件。控制元件的大小,形狀和排列等屬性因布局管理器而異。當小應用程式或應用程式視窗的大小改變時,元件的大小,形狀和布置也響應地改變,即布局管理器適應小應用程式檢視器或應用程式視窗的維度。

布局管理器與每個Container物件相關聯。每個布局管理器都是實現LayoutManager介面的類的物件。

以下是定義布局管理器功能的介面。

編號 介面 描述說明
1 LayoutManager LayoutManager介面宣告需要由類實現的那些方法,其物件將充當布局管理器。
2 LayoutManager2 LayoutManager2LayoutManager的子介面。此介面適用於那些知道如何基於布局約束物件布局容器的類。

AWT布局管理器類

以下是使用AWT設計GUI時常用控制元件的布局管理器類。

編號 布局管理器類
1 BorderLayout borderlayout布局元件適合五個區域:東,西,北,南和中心。
2 CardLayout CardLayout物件將容器中的每個元件視為卡片。一次只能看到一張卡片。
3 FlowLayout FlowLayout是預設布局,它以方向流布局元件。
4 GridLayout GridLayout以矩形網格的形式布局管理元件。
5 GridBagLayout 這是最靈活的布局管理器類。GridBagLayout物件垂直,水平或沿其基線對齊元件,而不需要相同大小的元件。
6 GroupLayout GroupLayout對元件進行分層分組,以便將它們放置在Container中。
7 SpringLayout SpringLayout根據一組約束定位其關聯容器的子項。