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

📄 register.java

📁 使用java实现聊天室
💻 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 + -