博為峰Java技術(shù)文章 ——JavaSE Swing BoxLayout布局管理器I

博為峰小博老師

箱式布局比較靈活,也比較實(shí)用。Swing提供的BOX類(lèi)就是箱式布局類(lèi),它的默認(rèn)布局管理器就是BoxLayout,在箱式布局管理器中包括兩種箱子:一種是水平箱,另外一種是垂直箱。

創(chuàng)建一個(gè)水平箱的源代碼如下:

創(chuàng)建一個(gè)垂直箱的源代碼如下:

創(chuàng)建好箱子后,就可以像添加其他組件一樣添加下面的控件,源代碼如下:

兩種箱子的區(qū)別在于組件的排列順序,水平箱是按照從左到右的順序排列,而垂直箱按照從上到下的順序排列。對(duì)于箱式布局管理器而言,最關(guān)鍵的就是每個(gè)組件的3個(gè)尺寸。

l首選尺寸,即組件顯示時(shí)的寬度和高度。

l最大尺寸,即組件能被顯示的最大寬度和高度。

l最小尺寸,即組件被顯示的最小高度和最小寬度。

下面是水平箱式布局管理器中組件排列的幾個(gè)重點(diǎn):

l計(jì)算最高組件的最大高度,嘗試把所有的組件都增加到這個(gè)高度。如果有某些組件不能達(dá)到此高度,那么要在Y軸上對(duì)齊需要通過(guò)getAlignmentY方法實(shí)現(xiàn),該方法返回一個(gè)介于0(按頂部對(duì)齊)和1(按底部對(duì)齊)之間的浮點(diǎn)數(shù)。組件的默認(rèn)值是0.5,也就是中線(xiàn)對(duì)齊。

l得到每個(gè)組件的首選寬度,然后把所有的首選寬度合計(jì)起來(lái)。

l如果首選寬度總和小于箱的寬度,那么所有的組件都會(huì)相應(yīng)的延伸,直到適應(yīng)這個(gè)箱子的寬度。組件從左到右排列,并且相鄰兩個(gè)組件之間沒(méi)有多余的空格。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容