📄 register.java
字号:
//import classes
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
{
//declare components
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("Register");
JPanel panel=new JPanel();
//apply the layout
panel.setLayout(new GridBagLayout());
GridBagConstraints gbCons=new GridBagConstraints();
//place the components
gbCons.gridx=0;
gbCons.gridy=0;
lblHeading=new JLabel("Registration Info");
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("Enter Username");
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("Enter Password ");
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("Confirm Password ");
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("Employee ID");
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("First Name");
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("Last Name");
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("Age");
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("Sex");
panel.add(lblSex, gbCons);
gbCons.gridx = 1;
gbCons.gridy=8;
String[] sex= {"Male", "Female"};
JComboBox lstSex=new JComboBox(sex);
lstSex.setSelectedIndex(0);
panel.add(lstSex, gbCons);
JPanel btnPanel=new JPanel();
btnSubmit=new JButton("Submit");
btnPanel.add(btnSubmit);
btnSubmit.addActionListener(this); //add listener to the Submit button
btnCancel=new JButton("Cancel");
btnPanel.add(btnCancel);
btnCancel.addActionListener(this); //add listener to the Cancel button
gbCons.gridx=0;
gbCons.gridy=9;
gbCons.anchor=GridBagConstraints.EAST;
panel.add(btnPanel, gbCons);
getContentPane().add(panel);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setVisible(true);
setSize(450,400);
}//end or Register()
public void actionPerformed(ActionEvent e1)
{
JButton button=(JButton)e1.getSource(); //get the source of the event
if(button.equals(btnCancel))
{
this.dispose();
}
else
{
int ver=verify(); //call the verify()
if(ver==1)
{
try
{
//establish a socket connection and create I/O socket streams
toServer=new Socket("machine-name",1001);
streamFromServer=new ObjectInputStream(toServer.getInputStream());
streamToServer=new PrintStream(toServer.getOutputStream());
//send a message to server for Registration
streamToServer.println("RegisterInfo");
usrName=txtUserName.getText();
usrPwd=txtUsrPwd.getPassword();
String pwd=new String(usrPwd);
//send the user name and password to the server
streamToServer.println(usrName+":"+pwd);
//read the response from the server
String frmServer=(String)streamFromServer.readObject();
if(frmServer.equals("Registered"))
{
new Login();
this.dispose();
}
else if(frmServer.equals("User Exists"))
{
showUsrExists(); //show error message
}
}//end of try
catch(Exception e)
{
System.out.println("Exception "+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("done");
ctr=1;
return ctr;
}
else
{
showErrordlg();
}//end of else
}//end of try
catch(Exception e)
{
System.out.println("exception thrown "+e);
}//end of catch
return ctr;
}//end of verify()
//error msg- User Exists
void showUsrExists()
{
JOptionPane.showMessageDialog(this,"User exists.", "Message", JOptionPane.ERROR_MESSAGE);
}
int flg=0;
//error msg- Incorrect Entry
void showErrordlg()
{
JOptionPane.showMessageDialog(this,"Incorrect entry.", "Message", JOptionPane.ERROR_MESSAGE);
}
//error msg- Incorrect Age entered
void showErrordlgInt()
{
JOptionPane.showMessageDialog(this,"Age incorrect.", "Message", JOptionPane.ERROR_MESSAGE);
}
public static void main(String args[])
{
new Register();
}
}//end of class
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -