更新時(shí)間:2023-11-23 來(lái)源:黑馬程序員 瀏覽量:
IT就到黑馬程序員.gif)
GridBagLayout是最靈活、最復(fù)雜的布局管理器,它與GridBagLayout布局管理器類似,不同之處在于GridBagLayout允許網(wǎng)格中的組件大小各不相同,而且允許一個(gè)組件跨越一個(gè)或者多個(gè)網(wǎng)格。
使用GridBagLayout布局管理器的步驟如下。
(1)創(chuàng)建GridBagLayout布局管理器,設(shè)置容器采用該布局管理器。具體示例如下:
GridBagLayout layout = new GridbagLayout(); container.setLayout(layout);
(2)創(chuàng)建GridBagConstraints對(duì)象,并設(shè)置該對(duì)象的相關(guān)屬性(設(shè)置布局約束條件)。具體示例如下:
GridBagConstraints constraints = new GridBagConstraints(); constraints.gridx = 1; //設(shè)置網(wǎng)格的左上角橫向索引 constraints.gridy = 1; //設(shè)置網(wǎng)格的左上角縱向索引 constraints.gridwidth = 1; //設(shè)置組件橫向跨越的網(wǎng)格 constraints.gridheight = 1; //設(shè)置組件橫向跨越的網(wǎng)格
(3)調(diào)用GridBagLayout對(duì)象的setConstraints()方法,建立GridBagConstraints對(duì)象與受控組件之間的關(guān)聯(lián)。具體示例如下:
layput.setConstraints(compoent,constraints);
(4)向容器中添加組件。具體示例如下:
container.add(conponent);
GridBagConstraints對(duì)象可以重復(fù)使用。如果改變布局,只需要改變GridBagConstraints對(duì)象的屬性即可。如果要向容器中添加多個(gè)組件,則重復(fù)步驟(2)~步驟(4)。
從上面的步驟可以看出,使用GridBagLayout布局管理器的關(guān)鍵在于GridBagConstraints對(duì)象。GridBagConstraints類才是控制容器中每個(gè)組件布局的核心類,在GridBagConstraints類中有很多用于設(shè)置約束條件的屬性。GridBagConstraints類的常用屬性如表11-6所示。
表11-6 GridBagConstraints類的常用屬性

需要注意的是,如果希望組件的大小隨容器的增大而增大,必須同時(shí)設(shè)置GridBagConstraints對(duì)象的fill屬性和weightx、weighty屬性。
本文版權(quán)歸黑馬程序員Java培訓(xùn)學(xué)院所有,歡迎轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)注明作者出處。謝謝!
作者:黑馬程序員Java培訓(xùn)學(xué)院
首發(fā):https://java.itheima.com
1024首播|39歲程序員逆襲記:不被年齡定義,AI浪潮里再迎春天
2025-10-241024程序員節(jié)丨10年同行,致敬用代碼改變世界的你
2025-10-24【AI設(shè)計(jì)】北京143期畢業(yè)僅36天,全員拿下高薪offer!黑馬AI設(shè)計(jì)連續(xù)6期100%高薪就業(yè)
2025-09-19【跨境電商運(yùn)營(yíng)】深圳跨境電商運(yùn)營(yíng)畢業(yè)22個(gè)工作日,就業(yè)率91%+,最高薪資達(dá)13500元
2025-09-19【AI運(yùn)維】鄭州運(yùn)維1期就業(yè)班,畢業(yè)14個(gè)工作日,班級(jí)93%同學(xué)已拿到Offer, 一線均薪資 1W+
2025-09-19【AI鴻蒙開(kāi)發(fā)】上海校區(qū)AI鴻蒙開(kāi)發(fā)4期5期,距離畢業(yè)21天,就業(yè)率91%,平均薪資14046元
2025-09-19