3月19日,GridBagLayoutDemo,每日20行。

本文展示了一个使用Java Swing中的GridBagLayout进行组件布局的例子。通过调整GridBagConstraints属性,如gridwidth、gridheight等,实现了不同按钮在窗口中的灵活布局。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import java.awt.*;
public class GridBagLayoutDemo {

    public static void main(String[] args) {
        Frame f = new Frame("GridBagLayout Sample");
        f.setSize(320, 180);    //设置窗口的大小
        GridBagConstraints gbc = new GridBagConstraints();    //使用类GridBagConstraints
        f.setLayout(new GridBagLayout());    //设定外观管理器位GridBagLayout外观管理器
        gbc.fill = GridBagConstraints.BOTH;    //所有的按钮都会把分配的剩余空间填满
        gbc.gridheight = 1;    //设置第一个按钮显示属性
        gbc.gridwidth = 1;
        Button button1 = new Button("东");
        ((GridBagLayout)f.getLayout()).setConstraints(button1, gbc);
        f.add(button1);
        gbc.gridwidth = GridBagConstraints.REMAINDER;    //设置第二个按钮的gridwidth,gridheigth保持不变
        Button button2 = new Button("西");
        ((GridBagLayout)f.getLayout()).setConstraints(button2, gbc);
        f.add(button2);
        gbc.gridheight = 4;    //设置第三个按钮显示属性
        gbc.gridwidth = 1;
        Button button3 = new Button("南");
        ((GridBagLayout)f.getLayout()).setConstraints(button3, gbc);
        f.add(button3);
        gbc.gridheight = 2;    //设置第四个按钮显示属性
        gbc.gridwidth = 1;
        Button button4 = new Button("北");
        ((GridBagLayout)f.getLayout()).setConstraints(button4, gbc);
        f.add(button4);
        gbc.gridwidth = GridBagConstraints.REMAINDER;    //设置第五个按钮显示属性
        Button button5 = new Button("中");
        ((GridBagLayout)f.getLayout()).setConstraints(button5, gbc);
        f.add(button5);
        gbc.insets = new Insets(5, 6, 7, 8);    //设置第六个按钮显示属性
        Button button6 = new Button("GridBagLayoutDemo");
        ((GridBagLayout)f.getLayout()).setConstraints(button6, gbc);
        f.add(button6);
        f.setVisible(true);
    }

}

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值