(JPanel)Panel是一個輕量級的容器,由於不是頂層的容器,故其必須放在JFrame(Frame)等進階容器上,這樣就可以在一個Frame(JFrame)上通過Panel和5種介面布局管理器構建複雜的應用程式介面。
下面來介紹一下5種介面布局管理器:
BorderLayout:
這是一個布置容器的邊框布局,它可以對容器組件進行安排,並調整其大小,使其符合下列五個地區:北、南、東、西、中。每個地區最多隻能包含一個組件,並通過相應的常量進行標識:NORTH
、SOUTH
、EAST
、WEST
、CENTER
。當使用邊框布局將一個組件添加到容器中時,要使用這五個常量之一,例如:
Panel p = new Panel(); p.setLayout(new BorderLayout()); p.add(new Button("Okay"), BorderLayout.SOUTH);FLowLayout:
流布局用於安排有向流中的組件,這非常類似於段落中的文本行。流的方向取決於容器的 componentOrientation
屬性,
它可能是以下兩個值中的一個:
ComponentOrientation.LEFT_TO_RIGHT
ComponentOrientation.RIGHT_TO_LEFT
流布局一般用來安排面板中的按鈕。它使得按鈕呈水平放置,直到同一條線上再也沒有適合的按鈕。
GirdLayout:
GridLayout 類是一個布局處理器,它以矩形網格形式對容器的組件進行布置。容器被分成大小相等的矩形,
一個矩形中放置一個組件。
BoxLayout:
允許垂直或水平布置多個組件的布局管理器。這些組件將不封裝,因此舉例來說,垂直排列的組件在重新調整架構的大小時仍然被垂直排列。
用水平組件和垂直組件的不同組合嵌套多面板的作用類似於 GridBagLayout,但沒那麼複雜。該圖顯示了兩個水平排列的面板,每個面板都包含 3 個垂直排列的組件。
CardLayout:
類似於圖層的概念,在表單或者面板上使用CardLayout可以把訂製的UI作為一個圖層,這樣當有多個圖層的時候就可以在圖層間進行切換
類似於翻牌的效果。