下面程序中addcomponent()函数参数数表中第四个和第五参数是指定组件的坐标吧,但在生成的窗口中把相应的组件与那俩个坐标比了一下,很迷惑,感觉组建的位置与那辆个坐标值不一样(别用帮助文档中的解释,我刚才看了一下不好懂(恕我愚钝))
谢谢package hello;
import java.awt.*;
import javax.swing.*;
public class test extends JFrame
{ JButton bntsz,bntdl;
JLabel lblzc,lblzh,lbltest;
JTextField txtzh;
JPasswordField pwdmm;
JCheckBox ckbjm,ckbdl;
JPanel pnlmain;
GridBagLayout gbl;
GridBagConstraints gbc; public test()
{
super("QQ 2011");
pnlmain=new JPanel();
this.getContentPane().add(pnlmain);
gbl =new GridBagLayout();
gbc=new GridBagConstraints();
pnlmain.setLayout(gbl);
bntsz=new JButton("设置");
bntdl=new JButton("安全登录");
lbltest=new JLabel("测试");
lblzc=new JLabel("注册");
lblzh=new JLabel("找回");
txtzh=new JTextField(20);
pwdmm=new JPasswordField(20);
ckbjm=new JCheckBox("记住密码");
ckbdl=new JCheckBox("自动登录");
pnlmain.add(txtzh);
pnlmain.add(pwdmm);
pnlmain.add(lblzc);
pnlmain.add(lblzh);
pnlmain.add(bntsz);
gbc.weightx=0;
gbc.weighty=0;
gbc.fill=GridBagConstraints.BOTH;
addcomponent(txtzh,gbl,gbc,0,0,1,3);
gbc.fill=GridBagConstraints.HORIZONTAL;
addcomponent(pwdmm,gbl,gbc,0,1,2,1);
addcomponent(bntsz,gbl,gbc,2,1,2,1);
gbc.weightx=1000;
gbc.weighty=1;
gbc.fill=GridBagConstraints.BOTH;
addcomponent(bntdl,gbl,gbc,1,1,1,1);
gbc.weightx=0;
gbc.weighty=0;
gbc.fill=GridBagConstraints.BOTH;
addcomponent(lblzc,gbl,gbc,1,2,1,1);
addcomponent(lblzh,gbl,gbc,3,0,2,1);
setSize(300,200);
setVisible(true);
setResizable(true);
} //////添加组件的方法
private void addcomponent(Component c,GridBagLayout g,
GridBagConstraints gc,int row,int column,int width,int height)
{
gc.gridx=column;
gc.gridy=row;
gc.gridwidth=width;
gc.gridheight=height;g.setConstraints(c,gc);
pnlmain.add(c);
}
public static void main(String[] args)
{
new test(); }}
谢谢package hello;
import java.awt.*;
import javax.swing.*;
public class test extends JFrame
{ JButton bntsz,bntdl;
JLabel lblzc,lblzh,lbltest;
JTextField txtzh;
JPasswordField pwdmm;
JCheckBox ckbjm,ckbdl;
JPanel pnlmain;
GridBagLayout gbl;
GridBagConstraints gbc; public test()
{
super("QQ 2011");
pnlmain=new JPanel();
this.getContentPane().add(pnlmain);
gbl =new GridBagLayout();
gbc=new GridBagConstraints();
pnlmain.setLayout(gbl);
bntsz=new JButton("设置");
bntdl=new JButton("安全登录");
lbltest=new JLabel("测试");
lblzc=new JLabel("注册");
lblzh=new JLabel("找回");
txtzh=new JTextField(20);
pwdmm=new JPasswordField(20);
ckbjm=new JCheckBox("记住密码");
ckbdl=new JCheckBox("自动登录");
pnlmain.add(txtzh);
pnlmain.add(pwdmm);
pnlmain.add(lblzc);
pnlmain.add(lblzh);
pnlmain.add(bntsz);
gbc.weightx=0;
gbc.weighty=0;
gbc.fill=GridBagConstraints.BOTH;
addcomponent(txtzh,gbl,gbc,0,0,1,3);
gbc.fill=GridBagConstraints.HORIZONTAL;
addcomponent(pwdmm,gbl,gbc,0,1,2,1);
addcomponent(bntsz,gbl,gbc,2,1,2,1);
gbc.weightx=1000;
gbc.weighty=1;
gbc.fill=GridBagConstraints.BOTH;
addcomponent(bntdl,gbl,gbc,1,1,1,1);
gbc.weightx=0;
gbc.weighty=0;
gbc.fill=GridBagConstraints.BOTH;
addcomponent(lblzc,gbl,gbc,1,2,1,1);
addcomponent(lblzh,gbl,gbc,3,0,2,1);
setSize(300,200);
setVisible(true);
setResizable(true);
} //////添加组件的方法
private void addcomponent(Component c,GridBagLayout g,
GridBagConstraints gc,int row,int column,int width,int height)
{
gc.gridx=column;
gc.gridy=row;
gc.gridwidth=width;
gc.gridheight=height;g.setConstraints(c,gc);
pnlmain.add(c);
}
public static void main(String[] args)
{
new test(); }}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货