加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

learning java AWT 布局管理器 GridBagLayout

发布时间:2020-12-15 05:32:57 所属栏目:Java 来源:网络整理
导读:在GridBagLayout布局管理器中,一个组件可以跨越一个或多个网格,并可以设置各网格的大小互不相关。 import java.awt.*;public class GridBagTest { private Frame f = new Frame("测试窗口"); private GridBagLayout gb = new GridBagLayout(); private Gri

在GridBagLayout布局管理器中,一个组件可以跨越一个或多个网格,并可以设置各网格的大小互不相关。

import java.awt.*;

public class GridBagTest {
    private Frame f =  new Frame("测试窗口");
    private GridBagLayout gb = new GridBagLayout();
    private GridBagConstraints  gbc = new GridBagConstraints();
    private Button[] bs = new Button[10];

    public void init(){
        f.setLayout(gb);
        for (var i = 0; i < 10; i++){
            bs[i] = new Button("button" + i);
        }
        gbc.fill = GridBagConstraints.BOTH;
        gbc.weightx = 1;
        addButton(bs[0]);
        addButton(bs[1]);
        addButton(bs[2]);
        gbc.gridwidth = GridBagConstraints.REMAINDER;
        addButton(bs[3]);
        //横向不会扩展
        gbc.weightx = 0;
        addButton(bs[4]);
        //宽度占两格,高度占一格
        gbc.gridwidth = 2;
        gbc.gridheight = 1;
        addButton(bs[5]);
        //宽度占两格,高度占一格
        //gbc.gridwidth = 2;
        //gbc.gridheight = 1;
        gbc.gridwidth = GridBagConstraints.REMAINDER;
        addButton(bs[6]);

        // 另起一行,宽度占一格,高度占两格。
        gbc.gridwidth =1;
        gbc.gridheight =2;
        addButton(bs[7]);
        // 纵向不再扩展,高度占一格,结束
        gbc.weighty = 0;
        gbc.gridwidth =GridBagConstraints.REMAINDER;
        gbc.gridheight = 1;
        addButton(bs[8]);
        addButton(bs[9]);



        f.pack();
        f.setVisible(true);



    }
    private void addButton(Button button){
        gb.setConstraints(button,gbc);
        f.add(button);
    }

    public static void main(String[] args) {
        new GridBagTest().init();
    }
}

 output:

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读