gridbaglayout java_java swing 中的Gridbaglayout

初学javaswing,在看到gridbaglayout时,有个例子无法理解。我不能理解的是,gridbaglayout都没有设置整个容器几行几列,那么在调用add方法是,头两个参数,如0,0或2,3有什么意义啊?i...

初学java swing, 在看到gridbaglayout时,有个例子无法理解。

我不能理解的是,gridbaglayout 都没有设置整个容器几行几列,那么在调用add方法是,头两个参数,如0,0 或 2,3有什么意义啊?

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

class test7 extends JPanel//此处类继承了JPanel类

{

static final int WIDTH=300;

static final int HEIGHT=150;

JFrame loginframe;

public void add(Component c,GridBagConstraints constraints,int x,int y,int w,int h)

{//此方法用来添加控件到容器中

constraints.gridx=x;

constraints.gridy=y;

constraints.gridwidth=w;

constraints.gridheight=h;

add(c,constraints);

}

test7()

{

loginframe=new JFrame("信息管理系统"); //设置顶层容器

loginframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置其顶层容器的关闭性

GridBagLayout lay=new GridBagLayout();//创建网格组布局方式对象

setLayout(lay);

loginframe.add(this, BorderLayout.WEST);

loginframe.setSize(WIDTH,HEIGHT);

Toolkit kit=Toolkit.getDefaultToolkit();//设置顶层容器框架为居中

Dimension screenSize=kit.getScreenSize();

int width=screenSize.width;

int height=screenSize.height;

int x=(width-WIDTH)/2;

int y=(height-HEIGHT)/2;

loginframe.setLocation(x,y);

JButton ok=new JButton("确认");

JButton cancel=new JButton("放弃");

JLabel title=new JLabel("布局管理器测试窗口");

JLabel name=new JLabel("用户名");

JLabel password=new JLabel("密 码");

final JTextField nameinput=new JTextField(15);

final JTextField passwordinput=new JTextField(15);

GridBagConstraints constraints=new GridBagConstraints();

constraints.fill=GridBagConstraints.NONE;

constraints.anchor=GridBagConstraints.EAST;

constraints.weightx=3;

constraints.weighty=4;

add(title,constraints,0,0,4,1); //使用网格组布局添加控件

add(name,constraints,0,1,1,1);

add(password,constraints,0,2,1,1);

add(nameinput,constraints,2,1,1,1);

add(passwordinput,constraints,2,2,1,1);

add(ok,constraints,0,3,1,1);

add(cancel,constraints,2,3,1,1);

loginframe.setResizable(false);

loginframe.setVisible(true);

}

}

public class test7

{

public static void main(String[] args)

{

login log=new login();

}

}

展开

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值