📄 register.java
字号:
/*
* Register.java
*
* Created on 2007年12月2日, 下午10:03
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/
package appserver;
/**
*
* @author user
*/
//import classes
//导入相关Java包
import java.io.*;
import java.net.*;
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
import java.util.*;
public class Register extends JFrame implements ActionListener
{
//声明图形组件
JLabel lblHeading;
JLabel lblUserName;
JLabel lblUserPwd;
JLabel lblCnfUserPwd;
JLabel lblFrstName;
JLabel lblLstName;
JLabel lblAge;
JLabel lblEmpId;
JLabel lblSex;
String usrName;
char[] usrPwd;
char[] cnfPwd;
String frstName;
String lstName;
String age;
String empid;
Socket toServer;
ObjectInputStream streamFromServer;
PrintStream streamToServer;
JComboBox lstSex;
JTextField txtUserName;
JPasswordField txtUsrPwd;
JPasswordField txtCnfUsrPwd;
JTextField txtFrstName;
JTextField txtLstName;
JTextField txtAge;
JTextField txtEmpId;
Font f;
Color r;
JButton btnSubmit;
JButton btnCancel;
public Register()
{
this.setTitle("注册");
JPanel panel = new JPanel();
//应用布局管理器
panel.setLayout(new GridBagLayout());
GridBagConstraints gbCons = new GridBagConstraints();
//放置组件
gbCons.gridx = 0;
gbCons.gridy = 0;
lblHeading = new JLabel("注册信息");
Font f = new Font("Monospaced", Font.BOLD, 24);
lblHeading.setFont(f);
Color c = new Color(0, 200, 0);
lblHeading.setForeground(new Color(131, 25, 38));
lblHeading.setVerticalAlignment(SwingConstants.TOP);
gbCons.anchor = GridBagConstraints.EAST;
panel.add(lblHeading, gbCons);
gbCons.gridx = 0;
gbCons.gridy = 1;
lblUserName = new JLabel("用户名称:");
gbCons.anchor = GridBagConstraints.WEST;
panel.add(lblUserName, gbCons);
gbCons.gridx = 1;
gbCons.gridy = 1;
txtUserName = new JTextField(15);
panel.add(txtUserName, gbCons);
gbCons.gridx = 0;
gbCons.gridy = 2;
lblUserPwd = new JLabel("输入密码:");
panel.add(lblUserPwd, gbCons);
gbCons.gridx = 1;
gbCons.gridy = 2;
txtUsrPwd = new JPasswordField(15);
panel.add(txtUsrPwd, gbCons);
gbCons.gridx = 0;
gbCons.gridy = 3;
lblCnfUserPwd = new JLabel("确认密码:");
panel.add(lblCnfUserPwd, gbCons);
gbCons.gridx = 1;
gbCons.gridy = 3;
txtCnfUsrPwd = new JPasswordField(15);
panel.add(txtCnfUsrPwd, gbCons);
gbCons.gridx = 0;
gbCons.gridy = 4;
lblEmpId = new JLabel("顾员编号:");
panel.add(lblEmpId, gbCons);
gbCons.gridx = 1;
gbCons.gridy = 4;
txtEmpId = new JTextField(15);
panel.add(txtEmpId, gbCons);
gbCons.gridx = 0;
gbCons.gridy = 5;
lblFrstName = new JLabel("名:");
panel.add(lblFrstName, gbCons);
gbCons.gridx = 1;
gbCons.gridy = 5;
txtFrstName = new JTextField(15);
panel.add(txtFrstName, gbCons);
gbCons.gridx = 0;
gbCons.gridy = 6;
lblLstName = new JLabel("姓:");
panel.add(lblLstName, gbCons);
gbCons.gridx = 1;
gbCons.gridy = 6;
txtLstName = new JTextField(15);
panel.add(txtLstName, gbCons);
gbCons.gridx = 0;
gbCons.gridy = 7;
lblAge = new JLabel("年龄");
panel.add(lblAge, gbCons);
gbCons.gridx = 1;
gbCons.gridy = 7;
txtAge = new JTextField(3);
panel.add(txtAge, gbCons);
gbCons.gridx = 0;
gbCons.gridy = 8;
lblSex = new JLabel("性别:");
panel.add(lblSex, gbCons);
gbCons.gridx = 1;
gbCons.gridy = 8;
String[] sex = { "男", "女" };
JComboBox lstSex = new JComboBox(sex);
lstSex.setSelectedIndex(0);
panel.add(lstSex, gbCons);
JPanel btnPanel = new JPanel();
btnSubmit = new JButton("提交");
btnPanel.add(btnSubmit);
btnSubmit.addActionListener(this); //为提交按钮添加监听器
btnCancel = new JButton("取消");
btnPanel.add(btnCancel);
btnCancel.addActionListener(this); //为取消按钮添加监听器
gbCons.gridx = 0;
gbCons.gridy = 9;
gbCons.anchor = GridBagConstraints.EAST;
panel.add(btnPanel, gbCons);
getContentPane().add(panel);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setSize(450, 400);
setVisible(true);
}//end or Register()
public void actionPerformed(ActionEvent e1)
{
JButton button = (JButton)e1.getSource(); //获取事件源
if (button.equals(btnCancel))
{
this.dispose();
}
else
{
int ver = verify(); //调用verify()
if (ver == 1)
{
try
{
//建立socket连接并创建一个Socket输入输出流
toServer = new Socket("wgqr-7f254dd399", 1001);
streamFromServer = new ObjectInputStream(toServer.getInputStream());
streamToServer = new PrintStream(toServer.getOutputStream());
//向服务器发送注册信息
streamToServer.println("RegisterInfo");
usrName = txtUserName.getText();
usrPwd = txtUsrPwd.getPassword();
String pwd = new String(usrPwd);
//向服务器发送用户名和密码
streamToServer.println(usrName + ":" + pwd);
//读取服务器返回消息
String frmServer = (String)streamFromServer.readObject();
if (frmServer.equals("Registered"))
{
new Login();
this.dispose();
}
else if (frmServer.equals("User Exists"))
{
showUsrExists(); //显示错误信息
}
}//end of try
catch (Exception e)
{
System.out.println("发生异常 " + e);
}
}//end of if
}//end of else
}//end of actionPerformed()
int verify() //test the validity of the user information
{
int ctr = 0;
int intAge = 0;
try
{
usrName = txtUserName.getText();
usrPwd = txtUsrPwd.getPassword();
cnfPwd = txtCnfUsrPwd.getPassword();
frstName = txtFrstName.getText();
lstName = txtLstName.getText();
age = txtAge.getText();
empid = txtEmpId.getText();
String strUsrPwd = new String(usrPwd);
String strCnfPwd = new String(cnfPwd);
try
{
intAge = (int)Integer.parseInt(age.trim());
}
catch (Exception e)
{
showErrordlgInt();
}
if ((usrName.length() > 0) && (strUsrPwd.length() > 0) && (strCnfPwd.length() > 0) && (frstName.length() > 0) && (lstName.length() > 0) && (intAge > 21) && (intAge < 58) && (empid.length() > 0) && (strUsrPwd.equals(strCnfPwd)))
{
System.out.println("已处理");
ctr = 1;
return ctr;
}
else
{
showErrordlg();
}//end of else
}//end of try
catch (Exception e)
{
System.out.println("抛出异常 " + e);
}//end of catch
return ctr;
}//end of verify()
void showUsrExists()
{
JOptionPane.showMessageDialog(this, "用户已存在 ", "错误消息", JOptionPane.ERROR_MESSAGE);
}
int flg = 0;
void showErrordlg()
{
JOptionPane.showMessageDialog(this, "非法输入 ", "错误消息", JOptionPane.ERROR_MESSAGE);
}
void showErrordlgInt()
{
JOptionPane.showMessageDialog(this, "年龄不正确", "错误消息", JOptionPane.ERROR_MESSAGE);
}
public static void main(String args[])
{
new Register();
}
}//end of class
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -