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

📄 register.java

📁 这是本人在书上找到的项目,是一个网络聊天的程序.
💻 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 + -