首頁(yè)常見問題正文

Java培訓(xùn):GridBagLayout布局管理器

更新時(shí)間:2023-11-23 來(lái)源:黑馬程序員 瀏覽量:

IT培訓(xùn)班

  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類的常用屬性

1700704175749_GridBagConstraints類的常用屬性.jpg

  需要注意的是,如果希望組件的大小隨容器的增大而增大,必須同時(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

分享到:
在線咨詢 我要報(bào)名
和我們?cè)诰€交談!