⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 register.java

📁 一个java客户端与服务器端聊天程序,对于学习java网络编程者来说具有一定参考价值!
💻 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 + -