11 2 布局管理器

2021-10-18 17:18:19 字數 2328 閱讀 3449

在程式中,我們使用按鈕來改變窗體的背景顏色。這幾個按鈕包含在乙個jpanel物件中,用流布局管理器管理,這是面板的預設布局管理器

按鈕當一行空間不夠的時候就會顯示在新的一行上,另外按鈕總是位於面板的**,即使使用者調整了窗體大小,也是如此

通常元件放置容器中,布局管理器會決定容器中的元件的位置和大小

按鈕,文字域和其他的使用者介面元素都會擴充套件component類,所以容器本身也可以放置在另乙個容器中

**component的繼承層次結構圖**

每個容器都有乙個預設的布局管理器,但可以進行重新進行設定。例如可以使用如下語句:

panel.setlayout(new gridlayout(4,4));
會使用gridlayout類按4行4列擺放元件,往容器中新增元件時,容器的add方法將把組建的所有位置要求傳遞給布局管理器。

方法名作用

void setlayout(layoutmanager m)

為容器設定布局管理器

void componen add(component c)

將元件新增到容器中並返回元件的引用

void componen add(component c,object constraints)

將元件新增到容器中並返回元件的引用

flowlayout()

構造乙個flowlayout物件

flowlayout(int align)

構造乙個flowlayout物件,align引數可以實left,center,right

flowlayout(int align,int hgap,int vgap)

構造乙個flowlayout物件,align引數可以實left,center,right

11.2.2 邊框布局

邊框布局管理器 是每個jframe的內容窗格的預設布局管理器

流布局管理器會完全控制每個元件的位置,邊框布局則不然,它允許為每個元件選擇乙個位置,可以選擇把元件放在內容窗格的**,北部,南部,東部,或者西部。

frame.add(component,borderlayout.south);
先放置邊緣元件,剩餘的可用空間由中間元件佔據,當容器調整大小的時候,邊緣組建的尺寸不會改變,而中間的元件的大小會發生變化。新增元件時候可以指定borderlayout類的center,north,south,east,west常量,如果沒提供預設center.

與流布局不同,邊框布局會擴充套件所有元件的尺寸以便填滿可用空間(流布局將維持每個元件的最佳尺寸)。

方法名方法作用

borderlayout()

構造乙個新的borderlayout物件

borderlayout(int hgap,int vgap)

構造乙個新的borderlayout物件

11.2.3 網格布局

網格布局就像電子資料表一樣,按行列排列所有的元件,不過所有的組建的大小都是一樣的,

在網格布局管理器的構造器中,需要指定所需的行數和列數:

panel.setlayout(new gridlayout(4,4));

示例:做乙個計算器介面

class gridlayoutpractice/

/網格布局);

}}

執行結果:

是當然,極少應用會有像計算器這樣的整齊布局,實際上在組織視窗的各部門區域時,小網格(通常只有一行或者一列)會很有用。

例如: 如果想放置一行尺寸都一樣的按鈕,就可以將這些按鈕放置在乙個面板裡,這個面板使用只有一行的網格布局進行管理。

方法名

方法作用

gridlayout(int rows,int columns)

構造乙個新的gridlayout物件。rows或者columns可以為零,但不能同時為零,指示每行或者每列的任意的組數

gridlayout(int rows,int columns,int hgap,int vgap)

構造乙個新的gridlayout物件。rows或者columns可以為零,但不能同時為零,指示每行或者每列的任意的組數

布局管理器 網格袋布局管理器

網格袋布局管理器中的約束條件constrains中有如下字段需要設定 1 constrains.gridx和constrains.gridy 這兩個欄位僅用於指定元件的起始網格座標。2 constrains.gridwidth和constrains.gridheight 這兩個字段用於指定元件所佔網...

布局管理器

jframe 內容面板在預設的情況下自動使用邊界布局管理器。1.邊界布局 borderlayout 所謂的borderlayout 就是把邊界劃分為東西南北中,南北要貫通,中間最大,不僅指地方最大,也指權利最大,當東西南北不存在時可占領他們,也就是說中間是可以占領周邊的,但周邊是絕不能占領中間的。邊...

布局管理器

1.linearlayout 線性布局 android orientation vertical 布局 android layout width wrap content 控制項寬度 android layout height fill parent 控制項高度 注意 vertical 垂直布局 h...