/*
这个是原始的QQ登录界面
http://test.hunanit.net/1002/logo.gif
这个是我执行代码出现错误的界面
http://test.hunanit.net/1002/logo1.gif
这个是我截的图
http://test.hunanit.net/1002/logo51.gif
*/import javax.swing.*;
import java.awt.*;public class QQLogin
{
static JFrame frameObj;
static JPanel panelObj;
GridBagLayout layoutObj;
GridBagConstraints cstObj;
JLabel logoimagePosition;
JLabel labelQQ;
JLabel labelPW;
JLabel labelAuto;
JLabel labelHide;
JButton button1;
JButton button2;
JButton button3;
JButton button4;
JTextField textQQ;
JTextField textPW;
JCheckBox checkAuto;
JCheckBox checkHide;
public QQLogin()
{
layoutObj = new GridBagLayout();
cstObj = new GridBagConstraints();
panelObj = new JPanel();
frameObj.getContentPane().add(panelObj);
panelObj.setLayout(layoutObj);
Icon logoImage = new ImageIcon("c:\\logo.gif");
logoimagePosition = new JLabel(logoImage);
cstObj.anchor = GridBagConstraints.CENTER;
cstObj.gridx = 0;
cstObj.gridy = 0;
layoutObj.setConstraints(logoimagePosition,cstObj);
panelObj.add(logoimagePosition);
labelQQ = new JLabel("QQ号码");
cstObj.anchor = GridBagConstraints.EAST;
cstObj.gridx = 0;
cstObj.gridy = 1;
cstObj.fill = GridBagConstraints.BOTH;
layoutObj.setConstraints(labelQQ,cstObj);
panelObj.add(labelQQ);
textQQ = new JTextField(10);
cstObj.anchor = GridBagConstraints.CENTER;
cstObj.gridx = 1;
cstObj.gridy = 1;
cstObj.fill = GridBagConstraints.BOTH;
layoutObj.setConstraints(textQQ,cstObj);
panelObj.add(textQQ);
button1 = new JButton("申请号码");
cstObj.anchor = GridBagConstraints.CENTER;
cstObj.gridx = 5;
cstObj.gridy = 1;
cstObj.fill = GridBagConstraints.BOTH;
layoutObj.setConstraints(button1,cstObj);
panelObj.add(button1);
labelPW = new JLabel("QQ密码");
cstObj.anchor = GridBagConstraints.EAST;
cstObj.gridx = 0;
cstObj.gridy = 2;
cstObj.fill = GridBagConstraints.BOTH;
layoutObj.setConstraints(labelPW,cstObj);
panelObj.add(labelPW);
textPW = new JTextField(10);
cstObj.anchor = GridBagConstraints.CENTER;
cstObj.gridx = 1;
cstObj.gridy = 2;
cstObj.fill = GridBagConstraints.BOTH;
layoutObj.setConstraints(textPW,cstObj);
panelObj.add(textPW);
checkAuto = new JCheckBox();
cstObj.anchor = GridBagConstraints.CENTER;
cstObj.gridx = 1;
cstObj.gridy = 3;
cstObj.fill = GridBagConstraints.BOTH;
panelObj.add(checkAuto);
labelAuto = new JLabel("自动登录");
cstObj.anchor = GridBagConstraints.CENTER;
cstObj.gridx = 2;
cstObj.gridy = 3;
cstObj.fill = GridBagConstraints.BOTH;
panelObj.add(labelAuto);
checkHide = new JCheckBox();
cstObj.anchor = GridBagConstraints.CENTER;
cstObj.gridx = 3;
cstObj.gridy = 3;
cstObj.fill = GridBagConstraints.BOTH;
panelObj.add(checkHide);
labelHide = new JLabel("隐身登录");
cstObj.anchor = GridBagConstraints.CENTER;
cstObj.gridx = 4;
cstObj.gridy = 3;
cstObj.fill = GridBagConstraints.BOTH;
panelObj.add(labelHide);
button2 = new JButton("高级设置");
cstObj.anchor = GridBagConstraints.CENTER;
cstObj.gridx = 0;
cstObj.gridy = 4;
cstObj.fill = GridBagConstraints.BOTH;
panelObj.add(button2);
button3 = new JButton("登录");
cstObj.anchor = GridBagConstraints.CENTER;
cstObj.gridx = 3;
cstObj.gridy = 4;
cstObj.fill = GridBagConstraints.BOTH;
panelObj.add(button3);
button4 = new JButton("取消");
cstObj.anchor = GridBagConstraints.CENTER;
cstObj.gridx = 5;
cstObj.gridy = 4;
cstObj.fill = GridBagConstraints.BOTH;
panelObj.add(button4);
}
public static void main(String args[])
{
frameObj = new JFrame("QQ用户登录");
QQLogin f1 = new QQLogin();
frameObj.setSize(330,238);
frameObj.setVisible(true);
}
}
这个是原始的QQ登录界面
http://test.hunanit.net/1002/logo.gif
这个是我执行代码出现错误的界面
http://test.hunanit.net/1002/logo1.gif
这个是我截的图
http://test.hunanit.net/1002/logo51.gif
*/import javax.swing.*;
import java.awt.*;public class QQLogin
{
static JFrame frameObj;
static JPanel panelObj;
GridBagLayout layoutObj;
GridBagConstraints cstObj;
JLabel logoimagePosition;
JLabel labelQQ;
JLabel labelPW;
JLabel labelAuto;
JLabel labelHide;
JButton button1;
JButton button2;
JButton button3;
JButton button4;
JTextField textQQ;
JTextField textPW;
JCheckBox checkAuto;
JCheckBox checkHide;
public QQLogin()
{
layoutObj = new GridBagLayout();
cstObj = new GridBagConstraints();
panelObj = new JPanel();
frameObj.getContentPane().add(panelObj);
panelObj.setLayout(layoutObj);
Icon logoImage = new ImageIcon("c:\\logo.gif");
logoimagePosition = new JLabel(logoImage);
cstObj.anchor = GridBagConstraints.CENTER;
cstObj.gridx = 0;
cstObj.gridy = 0;
layoutObj.setConstraints(logoimagePosition,cstObj);
panelObj.add(logoimagePosition);
labelQQ = new JLabel("QQ号码");
cstObj.anchor = GridBagConstraints.EAST;
cstObj.gridx = 0;
cstObj.gridy = 1;
cstObj.fill = GridBagConstraints.BOTH;
layoutObj.setConstraints(labelQQ,cstObj);
panelObj.add(labelQQ);
textQQ = new JTextField(10);
cstObj.anchor = GridBagConstraints.CENTER;
cstObj.gridx = 1;
cstObj.gridy = 1;
cstObj.fill = GridBagConstraints.BOTH;
layoutObj.setConstraints(textQQ,cstObj);
panelObj.add(textQQ);
button1 = new JButton("申请号码");
cstObj.anchor = GridBagConstraints.CENTER;
cstObj.gridx = 5;
cstObj.gridy = 1;
cstObj.fill = GridBagConstraints.BOTH;
layoutObj.setConstraints(button1,cstObj);
panelObj.add(button1);
labelPW = new JLabel("QQ密码");
cstObj.anchor = GridBagConstraints.EAST;
cstObj.gridx = 0;
cstObj.gridy = 2;
cstObj.fill = GridBagConstraints.BOTH;
layoutObj.setConstraints(labelPW,cstObj);
panelObj.add(labelPW);
textPW = new JTextField(10);
cstObj.anchor = GridBagConstraints.CENTER;
cstObj.gridx = 1;
cstObj.gridy = 2;
cstObj.fill = GridBagConstraints.BOTH;
layoutObj.setConstraints(textPW,cstObj);
panelObj.add(textPW);
checkAuto = new JCheckBox();
cstObj.anchor = GridBagConstraints.CENTER;
cstObj.gridx = 1;
cstObj.gridy = 3;
cstObj.fill = GridBagConstraints.BOTH;
panelObj.add(checkAuto);
labelAuto = new JLabel("自动登录");
cstObj.anchor = GridBagConstraints.CENTER;
cstObj.gridx = 2;
cstObj.gridy = 3;
cstObj.fill = GridBagConstraints.BOTH;
panelObj.add(labelAuto);
checkHide = new JCheckBox();
cstObj.anchor = GridBagConstraints.CENTER;
cstObj.gridx = 3;
cstObj.gridy = 3;
cstObj.fill = GridBagConstraints.BOTH;
panelObj.add(checkHide);
labelHide = new JLabel("隐身登录");
cstObj.anchor = GridBagConstraints.CENTER;
cstObj.gridx = 4;
cstObj.gridy = 3;
cstObj.fill = GridBagConstraints.BOTH;
panelObj.add(labelHide);
button2 = new JButton("高级设置");
cstObj.anchor = GridBagConstraints.CENTER;
cstObj.gridx = 0;
cstObj.gridy = 4;
cstObj.fill = GridBagConstraints.BOTH;
panelObj.add(button2);
button3 = new JButton("登录");
cstObj.anchor = GridBagConstraints.CENTER;
cstObj.gridx = 3;
cstObj.gridy = 4;
cstObj.fill = GridBagConstraints.BOTH;
panelObj.add(button3);
button4 = new JButton("取消");
cstObj.anchor = GridBagConstraints.CENTER;
cstObj.gridx = 5;
cstObj.gridy = 4;
cstObj.fill = GridBagConstraints.BOTH;
panelObj.add(button4);
}
public static void main(String args[])
{
frameObj = new JFrame("QQ用户登录");
QQLogin f1 = new QQLogin();
frameObj.setSize(330,238);
frameObj.setVisible(true);
}
}
我又有所改进,设置了GRID的宽度..还是不行,大家帮帮忙吧.
这个是原始的QQ登录界面
http://test.hunanit.net/1002/logo.gif
这个是我执行代码出现错误的界面
http://test.hunanit.net/1002/logo1.gif
这个是我截的图
http://test.hunanit.net/1002/logo51.gif
*/
import javax.swing.*;
import java.awt.*;public class QQLogin
{
static JFrame frameObj;
static JPanel panelObj;
GridBagLayout layoutObj;
GridBagConstraints cstObj;
JLabel logoimagePosition;
JLabel labelQQ;
JLabel labelPW;
JLabel labelAuto;
JLabel labelHide;
JButton button1;
JButton button2;
JButton button3;
JButton button4;
JTextField textQQ;
JTextField textPW;
JCheckBox checkAuto;
JCheckBox checkHide;
public QQLogin()
{
layoutObj = new GridBagLayout();
cstObj = new GridBagConstraints();
panelObj = new JPanel();
frameObj.getContentPane().add(panelObj);
panelObj.setLayout(layoutObj);
Icon logoImage = new ImageIcon("c:\\logo51.gif");
logoimagePosition = new JLabel(logoImage);
cstObj.anchor = GridBagConstraints.CENTER;
cstObj.gridx = 0;
cstObj.gridy = 0;
cstObj.gridwidth = 4;
layoutObj.setConstraints(logoimagePosition,cstObj);
panelObj.add(logoimagePosition);
labelQQ = new JLabel("QQ号码");
cstObj.anchor = GridBagConstraints.EAST;
cstObj.gridx = 0;
cstObj.gridy = 1;
cstObj.gridwidth = 1;
cstObj.fill = GridBagConstraints.BOTH;
layoutObj.setConstraints(labelQQ,cstObj);
panelObj.add(labelQQ);
textQQ = new JTextField(10);
cstObj.anchor = GridBagConstraints.CENTER;
cstObj.gridx = 1;
cstObj.gridy = 1;
cstObj.gridwidth = 2;
cstObj.fill = GridBagConstraints.BOTH;
layoutObj.setConstraints(textQQ,cstObj);
panelObj.add(textQQ);
button1 = new JButton("申请号码");
cstObj.anchor = GridBagConstraints.CENTER;
cstObj.gridx = 5;
cstObj.gridy = 1;
cstObj.gridwidth = 1;
cstObj.fill = GridBagConstraints.BOTH;
layoutObj.setConstraints(button1,cstObj);
panelObj.add(button1);
labelPW = new JLabel("QQ密码");
cstObj.anchor = GridBagConstraints.EAST;
cstObj.gridx = 0;
cstObj.gridy = 2;
cstObj.gridwidth = 1;
cstObj.fill = GridBagConstraints.BOTH;
layoutObj.setConstraints(labelPW,cstObj);
panelObj.add(labelPW);
textPW = new JTextField(10);
cstObj.anchor = GridBagConstraints.CENTER;
cstObj.gridx = 1;
cstObj.gridy = 2;
cstObj.gridwidth = 2;
cstObj.fill = GridBagConstraints.BOTH;
layoutObj.setConstraints(textPW,cstObj);
panelObj.add(textPW);
checkAuto = new JCheckBox();
labelAuto = new JLabel("自动登录");
cstObj.anchor = GridBagConstraints.CENTER;
cstObj.gridx = 1;
cstObj.gridy = 3;
cstObj.gridwidth = 1;
cstObj.fill = GridBagConstraints.BOTH;
panelObj.add(checkAuto);
panelObj.add(labelAuto);
checkHide = new JCheckBox();
labelHide = new JLabel("隐身登录");
cstObj.anchor = GridBagConstraints.CENTER;
cstObj.gridx = 2;
cstObj.gridy = 3;
cstObj.gridwidth = 1;
cstObj.fill = GridBagConstraints.BOTH;
panelObj.add(checkHide);
panelObj.add(labelHide);
button2 = new JButton("高级设置");
cstObj.anchor = GridBagConstraints.CENTER;
cstObj.gridx = 0;
cstObj.gridy = 4;
cstObj.gridwidth = 1;
cstObj.fill = GridBagConstraints.BOTH;
panelObj.add(button2);
button3 = new JButton("登录");
cstObj.anchor = GridBagConstraints.CENTER;
cstObj.gridx = 2;
cstObj.gridy = 4;
cstObj.gridwidth = 1;
cstObj.fill = GridBagConstraints.BOTH;
panelObj.add(button3);
button4 = new JButton("取消");
cstObj.gridwidth = 1;
cstObj.anchor = GridBagConstraints.CENTER;
cstObj.gridx = 3;
cstObj.gridy = 4;
cstObj.fill = GridBagConstraints.BOTH;
panelObj.add(button4);
}
public static void main(String args[])
{
frameObj = new JFrame("QQ用户登录");
QQLogin f1 = new QQLogin();
frameObj.setSize(330,238);
frameObj.setVisible(true);
}
}
问题基本解决了,只是不能实现一个网格放两个组件,我想在一个网格放一个checkbox和一个label文字组件,按我写的方法,文字组件并不显示,为什么呢
*/
import javax.swing.*;
import java.awt.*;public class QQLogin
{
static JFrame frameObj;
static JPanel panelObj;
GridBagLayout layoutObj;
GridBagConstraints cstObj;
JLabel logoimagePosition;
JLabel labelQQ;
JLabel labelPW;
JLabel labelAuto;
JLabel labelHide;
JButton button1;
JButton button2;
JButton button3;
JButton button4;
JTextField textQQ;
JTextField textPW;
JCheckBox checkAuto;
JCheckBox checkHide;
public QQLogin()
{
layoutObj = new GridBagLayout();
cstObj = new GridBagConstraints();
panelObj = new JPanel();
frameObj.getContentPane().add(panelObj);
panelObj.setLayout(layoutObj);
Icon logoImage = new ImageIcon("c:\\logo51.gif");
logoimagePosition = new JLabel(logoImage);
cstObj.anchor = GridBagConstraints.NORTHWEST;
cstObj.gridx = 0;
cstObj.gridy = 0;
cstObj.gridwidth = 4;
layoutObj.setConstraints(logoimagePosition,cstObj);
panelObj.add(logoimagePosition);
labelQQ = new JLabel("QQ号码");
cstObj.anchor = GridBagConstraints.CENTER;
cstObj.gridx = 0;
cstObj.gridy = 1;
cstObj.fill = GridBagConstraints.BOTH;
layoutObj.setConstraints(labelQQ,cstObj);
panelObj.add(labelQQ);
textQQ = new JTextField(15);
cstObj.anchor = GridBagConstraints.NORTHWEST;
cstObj.gridx = 1;
cstObj.gridy = 1;
cstObj.gridwidth = 2;
cstObj.fill = GridBagConstraints.BOTH;
layoutObj.setConstraints(textQQ,cstObj);
panelObj.add(textQQ);
button1 = new JButton("申请号码");
cstObj.anchor = GridBagConstraints.NORTHWEST;
cstObj.gridx = 3;
cstObj.gridy = 1;
cstObj.gridwidth = 1;
cstObj.fill = GridBagConstraints.BOTH;
layoutObj.setConstraints(button1,cstObj);
panelObj.add(button1);
labelPW = new JLabel("QQ密码");
cstObj.anchor = GridBagConstraints.CENTER;
cstObj.gridx = 0;
cstObj.gridy = 2;
cstObj.fill = GridBagConstraints.BOTH;
layoutObj.setConstraints(labelPW,cstObj);
panelObj.add(labelPW);
textPW = new JTextField(15);
cstObj.anchor = GridBagConstraints.NORTHWEST;
cstObj.gridx = 1;
cstObj.gridy = 2;
cstObj.gridwidth = 2;
cstObj.fill = GridBagConstraints.BOTH;
layoutObj.setConstraints(textPW,cstObj);
panelObj.add(textPW);
checkAuto = new JCheckBox();
labelAuto = new JLabel("自动登录");
cstObj.anchor = GridBagConstraints.NORTHWEST;
cstObj.gridx = 1;
cstObj.gridy = 3;
cstObj.gridwidth = 1;
cstObj.fill = GridBagConstraints.BOTH;
layoutObj.setConstraints(checkAuto,cstObj);
layoutObj.setConstraints(labelAuto,cstObj);
panelObj.add(checkAuto);
panelObj.add(labelAuto);
checkHide = new JCheckBox();
labelHide = new JLabel("隐身登录");
cstObj.anchor = GridBagConstraints.NORTHWEST;
cstObj.gridx = 2;
cstObj.gridy = 3;
cstObj.gridwidth = 1;
cstObj.fill = GridBagConstraints.BOTH;
layoutObj.setConstraints(checkHide,cstObj);
layoutObj.setConstraints(labelHide,cstObj);
panelObj.add(checkHide);
panelObj.add(labelHide);
button2 = new JButton("高级设置");
cstObj.anchor = GridBagConstraints.NORTHWEST;
cstObj.gridx = 0;
cstObj.gridy = 4;
cstObj.gridwidth = 1;
cstObj.fill = GridBagConstraints.BOTH;
layoutObj.setConstraints(button2,cstObj);
panelObj.add(button2);
button3 = new JButton("登录");
cstObj.anchor = GridBagConstraints.NORTHWEST;
cstObj.gridx = 2;
cstObj.gridy = 4;
cstObj.gridwidth = 1;
cstObj.fill = GridBagConstraints.BOTH;
layoutObj.setConstraints(button3,cstObj);
panelObj.add(button3);
button4 = new JButton("取消");
cstObj.gridwidth = 1;
cstObj.anchor = GridBagConstraints.NORTHWEST;
cstObj.gridx = 3;
cstObj.gridy = 4;
cstObj.gridwidth = 1;
cstObj.fill = GridBagConstraints.BOTH;
layoutObj.setConstraints(button4,cstObj);
panelObj.add(button4);
}
public static void main(String args[])
{
frameObj = new JFrame("QQ用户登录");
QQLogin f1 = new QQLogin();
frameObj.setSize(330,238);
frameObj.setVisible(true);
}
}