鍍金池/ 教程/ Java/ SWING 布局
SWING 容器
SWING - 環(huán)境安裝
SWING - 控件
SWING 事件類
SWING - 概述
SWING 事件監(jiān)聽器
SWING 布局
SWING 菜單類
SWING 事件適配器
SWING 事件處理

SWING 布局

引言

布局意味著容器內(nèi)組件的安排。我們可以說,用其他方式在容器的特定位置放置組件。布局控件的任務(wù)是由布局管理器自動(dòng)完成的。

布局管理器

布局管理器自動(dòng)放置容器內(nèi)的所有組件。如果我們不使用布局管理器,然后組件也能由默認(rèn)的布局管理器放置。手工布局控件也是可能的,但是由于以下兩個(gè)原因,它變得非常困難。

  • 在容器內(nèi)處理大量的控件是非常繁瑣的。

  • 通常當(dāng)我們需要安排組件時(shí),沒有給出該組件的寬度和高度信息,。

Java 為我們提供了各種布局管理器來放置控件。屬性如大小,形狀和排列從一個(gè)布局管理器到其他的布局管理器變化。當(dāng)小應(yīng)用程序或應(yīng)用程序窗口的大小改變時(shí),組件的大小,形狀和排列的組件也相應(yīng)的變化,即布局管理器適應(yīng)小應(yīng)用程序視圖或應(yīng)用程序窗口的尺寸。

布局管理器與每一個(gè)容器對(duì)象相關(guān)聯(lián)。每一個(gè)布局管理器是實(shí)現(xiàn)布局管理接口的類的一個(gè)對(duì)象。

下面是接口定義的布局管理器的功能。

序號(hào) 接口 & 描述
1 LayoutManager
LayoutManager 接口聲明那些需要由類來實(shí)現(xiàn)的方法,這些類的對(duì)象將充當(dāng)一個(gè)布局管理器。
2 LayoutManager2
LayoutManager2 是 LayoutManager 的子接口。這個(gè)接口是為那些知道如何基于布局約束對(duì)象來布局容器的類。

AWT 布局管理器類:

下面是當(dāng)使用 AWT 設(shè)計(jì) GUI 時(shí)常用的控件列表。

序號(hào) 布局管理器 & 描述
1 BorderLayout
Borderlayout 安排組件適應(yīng)于五個(gè)地區(qū):東、西、北、南和中心。
2 CardLayout
CardLayout 對(duì)象把容器中的每一個(gè)組件看成一個(gè)卡片。一次只有一個(gè)卡片是可見的。
3 FlowLayout
FlowLayout 是默認(rèn)的布局。它用定向流動(dòng)來布局組件。
4 GridLayout
GridLayout 用一個(gè)矩形網(wǎng)格形式來管理組件。
5 GridBagLayout
這是最靈活的布局管理器類。在不需要相同大小的組件的情況下,GridBagLayout 對(duì)象垂直、水平或沿著它們的基線來排列組件。
6 GroupLayout
GroupLayout 分層次地歸類組件,為了在一個(gè)容器中放置它們。
7 SpringLayout
SpringLayout 根據(jù)一組約束安置與它相關(guān)的容器的孩子。