資源描述:
《java布局管理器68781》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫(kù)。
1、Java布局管理器68781java.awt包中共定義了常用的布局管理類(lèi):FlowLayout、BorderLayout、CardLayout、GridLayout和GridBagLayout、BoxLayoutFlowLayout類(lèi)Panel/JPanel和Applet默認(rèn)FlowLayout:以行為單位按照加入的先后順序從左向右排列,一行排滿之后就轉(zhuǎn)到下一行繼續(xù)從左至右排列,每一行中的組件都居中排列。FlowLayout有CENTER、LEFT和RIGHT屬性用于控制每一行的組件對(duì)齊方式。(1)創(chuàng)建FlowLayout布局①
2、FlowLayout()創(chuàng)建一個(gè)FlowLayout布局,居中對(duì)齊,垂直和水平間距默認(rèn)為5像素②FlowLayout(intalign)對(duì)齊方式為align,垂直和水平間距為5。③FlowLayout(intalign,inthgap,intvgap)對(duì)齊方式為align,垂直和水平間距分別為hgap和vgap。(2)常用方法①set/getAlignment()②set/getHgap()③set/getVgap()(3)FlowLayout布局管理器的使用對(duì)于使用FlowLayout的容器,加入組件調(diào)用以下的方法:add(組
3、件名);。設(shè)置一個(gè)容器為FlowLayout布局策略,調(diào)用以下的方法:setLayout(newFlowLayout());。缺點(diǎn):當(dāng)用戶(hù)對(duì)進(jìn)行縮放時(shí),布局發(fā)生變化優(yōu)點(diǎn):適合組件少BorderLayout類(lèi)Frame/JFrame、JDialog、JWindow、JApplet默認(rèn)使用BorderLayout。它把容器分5個(gè)區(qū)域:東、南、西、北、中。中間區(qū)域是東、南、西、北都填滿后剩下的區(qū)域。當(dāng)窗口垂直延伸時(shí),南、北、中區(qū)域也隨之延伸;而當(dāng)窗口水平延伸時(shí),東、西、中區(qū)域也隨之延伸。如果某個(gè)區(qū)域沒(méi)有分配組件,則其他組件可以占據(jù)它的
4、空間。例如,如果北部沒(méi)有組件,則西部和東部的組件將向上擴(kuò)展到容器的最上方,如果東部和西部沒(méi)有分配組件,則中部的組件將橫向擴(kuò)展到容器的左右邊界。BorderLayout類(lèi)提供了EAST、WEST、SOUTH、NORTH和CENTER(1)創(chuàng)建BorderLayout布局①BorderLayout()組件間無(wú)間距,中間。②BorderLayout(inthgap,intvgap)(2)常用方法①set/getHgap()②set/getVgap()(3)BorderLayout布局管理器的使用加入組件調(diào)用以下的方法:add(組件名,
5、位置[BorderLayout.CENTER或"Center"(默認(rèn))])設(shè)置一個(gè)容器為BorderLayout布局策略,調(diào)用以下的方法:setLayout(newBorderLayout());。缺點(diǎn):當(dāng)加入的組件超過(guò)5個(gè)時(shí),就必須使用容器的嵌套或其他布局優(yōu)點(diǎn):當(dāng)容器縮放時(shí),組件相應(yīng)的位置不變化,但大小改變GridLayout類(lèi)使容器中的各組件呈網(wǎng)格狀分布。容器中各組件的高度和寬度相等,當(dāng)容器的尺寸發(fā)生變化時(shí),各組件的相對(duì)位置不變,但各自的尺寸會(huì)發(fā)生變化。各組件的排列方式為:從上到下,從左到右。與BorderLayout類(lèi)相類(lèi)
6、似,如果想在一個(gè)網(wǎng)格單元中添加多個(gè)組件,則必須先在該網(wǎng)格放一個(gè)容器,再將多個(gè)組件放在該容器中。(1)創(chuàng)建GridLayout布局①GridLayout()一行,一列一個(gè)組件。默認(rèn)間距0像素②GridLayout(introws,intcols)rows行、cols列。③GridLayout(introws,intcols,inthgap,intvgap)(2)常用方法①set/getHgap()②set/getVgap()③set/getRows()④set/getColumns()(3)GridLayout布局管理器的使用加入
7、組件調(diào)用以下的方法:add(組件名);。設(shè)置一個(gè)容器為GridLayout布局策略,調(diào)用以下的方法:setLayout(newGridLayout());。優(yōu)點(diǎn):組件的相應(yīng)位置不隨區(qū)域的縮放而改變,只是組件的大小改變適用于組件個(gè)數(shù)較多的情況CardLayout類(lèi)處理容器內(nèi)的組件時(shí),容器表面上可以容納多個(gè)組件。但是,在同一時(shí)間,容器只能從這些組件中選出一個(gè)來(lái)顯示,就像一副撲克牌每次只能顯示最上面的一張一樣,且可以向前翻閱組件,也可以向后翻閱組件。(1)創(chuàng)建CardLayout布局①CardLayout()(默認(rèn)間距0)②CardL
8、ayout(inthgap,intvgap)(2)常用方法①set/getHgap()②set/getVgap()③CardLayout.first(Containerc)翻到容器的第一個(gè)組件;④CardLayout.last(Containerc)翻到容器的最