📄 register.java
字号:
package chat;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.*;
import java.io.*;
import java.net.*;
import java.awt.event.*;
import java.util.*;
import javax.swing.*;
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 txtUserPwd;
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.WEST;
panel.add(lblHeading,gbCons);
gbCons.gridx = 0;
gbCons.gridy = 2;
lblUserName = new JLabel("用户名称");
gbCons.anchor = GridBagConstraints.WEST;
panel.add(lblUserName,gbCons);
gbCons.gridx = 1;
gbCons.gridy = 2;
txtUserName = new JTextField(15);
panel.add(txtUserName,gbCons);
gbCons.gridx = 0;
gbCons.gridy = 3;
lblUserPwd = new JLabel("密码");
panel.add(lblUserPwd,gbCons);
gbCons.gridx = 1;
gbCons.gridy = 3;
txtUserPwd = new JPasswordField(15);
panel.add(txtUserPwd,gbCons);
gbCons.gridx = 0;
gbCons.gridy = 4;
lblCnfUserPwd = new JLabel("确认密码");
panel.add(lblCnfUserPwd,gbCons);
gbCons.gridx = 1;
gbCons.gridy = 4;
txtCnfUsrPwd = new JPasswordField(15);
panel.add(txtCnfUsrPwd,gbCons);
gbCons.gridx = 0;
gbCons.gridy = 5;
lblEmpId = new JLabel("雇员编号:");
panel.add(lblEmpId,gbCons);
gbCons.gridx = 1;
gbCons.gridy = 5;
txtEmpId = new JTextField(15);
panel.add(txtEmpId,gbCons);
gbCons.gridx = 0;
gbCons.gridy = 6;
lblFrstName = new JLabel("名:");
panel.add(lblFrstName,gbCons);
gbCons.gridx = 1;
gbCons.gridy = 6;
txtFrstName = new JTextField(15);
panel.add(txtFrstName,gbCons);
gbCons.gridx = 0;
gbCons.gridy = 7;
lblLstName = new JLabel("性:");
panel.add(lblLstName,gbCons);
gbCons.gridx = 1;
gbCons.gridy = 7;
txtLstName = new JTextField(15);
panel.add(txtLstName,gbCons);
gbCons.gridx = 0;
gbCons.gridy = 8;
lblAge = new JLabel("年龄:");
panel.add(lblAge,gbCons);
gbCons.gridx = 1;
gbCons.gridy = 8;
txtAge = new JTextField(15);
panel.add(txtAge,gbCons);
gbCons.gridx = 0;
gbCons.gridy = 9;
lblSex = new JLabel("性别:");
panel.add(lblSex,gbCons);
gbCons.gridx = 1;
gbCons.gridy = 9;
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 = 10;
gbCons.anchor = GridBagConstraints.EAST;
panel.add(btnPanel,gbCons);
getContentPane().add(panel);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
setSize(450,400);
}
public void actionPerformed(ActionEvent el) {
// TODO Auto-generated method stub
JButton button = (JButton)el.getSource();
if(button.equals(btnCancel))
{
new Login();
this.dispose();
}
else
{
int ver = verify();
if(ver == 1)
{
try{
toServer = new Socket("localhost",1001);
streamFromServer = new ObjectInputStream(toServer.getInputStream());
streamToServer = new PrintStream(toServer.getOutputStream());
streamToServer.println("注册信息");
usrName = txtUserName.getText();
usrPwd = txtUserPwd.getPassword();
String pwd = new String(usrPwd);
streamToServer.println(usrName+":"+pwd);
String frmServer = (String)streamFromServer.readObject();
if(frmServer.equals("已注册"))
{
new Login();
this.dispose();
}
else if(frmServer.equals("用户已存字"))
{
showUsrExists();
}
}
catch(Exception e)
{
System.out.println("异常 "+e);
}
}
}
}
int verify()
{
int ctr = 0;
int intAge = 0;
try{
usrName = txtUserName.getText();
usrPwd = txtUserPwd.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))
)
{
ctr = 1;
return ctr;
}
else{
showErrordlg();
}
}
catch(Exception e)
{
System.out.println("抛出异常 "+e);
}
return ctr;
}
void showUsrExists()
{
JOptionPane.showMessageDialog(this, "用户已存在.","错误",JOptionPane.ERROR_MESSAGE);
}
void showErrordlg()
{
JOptionPane.showMessageDialog(this, "非法输入.","错误",JOptionPane.ERROR_MESSAGE);
}
void showErrordlgInt()
{
JOptionPane.showMessageDialog(this, "年龄不正确.","错误",JOptionPane.ERROR_MESSAGE);
}
public static void main(String[] args)
{
new Register();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -