level 2
你别哭哦
楼主
我的电脑上效果如图:

源代码如下:
package com.myswing;
import java.awt.*;
import java.awt.GridBagConstraints;
import javax.swing.*;
public class LoginPanel extends 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);
}
LoginPanel(){
loginframe = new JFrame("信息管理系统");//设置顶层容器
loginframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
GridBagLayout lay = new GridBagLayout();
loginframe.setLayout(lay);
//loginframe.add(this,BorderLayout.WEST);//改前,教材写法--编译报错:constraints must be GridBagConstraints
loginframe.add(this,new GridBagConstraints());//改后
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;//Eclipse中Ctrl+Shift+X使字符大写;+Y则小写
int y = (height-HEIGHT)/2;
loginframe.setLocation(x, y);
/*添加按钮*/
JButton ok = new JButton("确认");
JButtoncancel = new JButton("放弃");
/*文字输入框*/
JLabel ip = new JLabel("ip");
JLabel port = new JLabel("port");
JLabel basename = new JLabel("数据库名称");
JLabel name = new JLabel("用户名");
JLabel password = new JLabel("密码");
final JTextField ipinput = new JTextField(15);
final JTextField portinput = new JTextField(15);
final JTextField basenameinput = new JTextField(15);
final JTextField nameinput = new JTextField(15);
final JTextField pwdinput = new JTextField(15);
GridBagConstraints constraints = new GridBagConstraints();
constraints.fill = GridBagConstraints.NONE;
constraints.anchor = GridBagConstraints.EAST;
constraints.weightx = 20;
constraints.weighty = 7;
add(ip,constraints,0,1,1,1);
add(port,constraints,0,2,1,1);
add(basename,constraints,0,3,1,1);
add(name,constraints,0,4,1,1);
add(password,constraints,0,5,1,1);
add(ok,constraints,0,6,1,1);
add(cancel,constraints,2,6,1,1);
add(ipinput,constraints,2,1,1,3);
add(portinput,constraints,2,2,1,1);
add(basenameinput,constraints,2,3,1,1);
add(nameinput,constraints,2,4,1,1);
add(pwdinput,constraints,2,5,1,1);
loginframe.setResizable(false);
loginframe.setVisible(true);
}
public static void main(String[] args) throws Exception{
LoginPanel lp= new LoginPanel();
}
}
2015年11月21日 08点11分
1

源代码如下:package com.myswing;
import java.awt.*;
import java.awt.GridBagConstraints;
import javax.swing.*;
public class LoginPanel extends 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);
}
LoginPanel(){
loginframe = new JFrame("信息管理系统");//设置顶层容器
loginframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
GridBagLayout lay = new GridBagLayout();
loginframe.setLayout(lay);
//loginframe.add(this,BorderLayout.WEST);//改前,教材写法--编译报错:constraints must be GridBagConstraints
loginframe.add(this,new GridBagConstraints());//改后
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;//Eclipse中Ctrl+Shift+X使字符大写;+Y则小写
int y = (height-HEIGHT)/2;
loginframe.setLocation(x, y);
/*添加按钮*/
JButton ok = new JButton("确认");
JButtoncancel = new JButton("放弃");
/*文字输入框*/
JLabel ip = new JLabel("ip");
JLabel port = new JLabel("port");
JLabel basename = new JLabel("数据库名称");
JLabel name = new JLabel("用户名");
JLabel password = new JLabel("密码");
final JTextField ipinput = new JTextField(15);
final JTextField portinput = new JTextField(15);
final JTextField basenameinput = new JTextField(15);
final JTextField nameinput = new JTextField(15);
final JTextField pwdinput = new JTextField(15);
GridBagConstraints constraints = new GridBagConstraints();
constraints.fill = GridBagConstraints.NONE;
constraints.anchor = GridBagConstraints.EAST;
constraints.weightx = 20;
constraints.weighty = 7;
add(ip,constraints,0,1,1,1);
add(port,constraints,0,2,1,1);
add(basename,constraints,0,3,1,1);
add(name,constraints,0,4,1,1);
add(password,constraints,0,5,1,1);
add(ok,constraints,0,6,1,1);
add(cancel,constraints,2,6,1,1);
add(ipinput,constraints,2,1,1,3);
add(portinput,constraints,2,2,1,1);
add(basenameinput,constraints,2,3,1,1);
add(nameinput,constraints,2,4,1,1);
add(pwdinput,constraints,2,5,1,1);
loginframe.setResizable(false);
loginframe.setVisible(true);
}
public static void main(String[] args) throws Exception{
LoginPanel lp= new LoginPanel();
}
}