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

📄 register.java

📁 JAVA做的QQ软件,感兴趣的可以看看,收藏依旧
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
			jTextArea.setEditable(false);
		}
		return jTextArea;
	}

	private JRadioButton getSex_maleRadioButton() {
		if (sex_maleRadioButton == null) {
			sex_maleRadioButton = new JRadioButton();
			sex_maleRadioButton.setBounds(new java.awt.Rectangle(127,198,48,21));
			sex_maleRadioButton.setText(Sex.MALE);
			sex_maleRadioButton.setBackground(new java.awt.Color(0,204,255));
			sex_maleRadioButton.setEnabled(true);
			sex_maleRadioButton.setSelected(true);
			sex_maleRadioButton.addActionListener(new SexListener());
		}
		return sex_maleRadioButton;
	}

	private JRadioButton getSex_femaleRadioButton() {
		if (sex_femaleRadioButton == null) {
			sex_femaleRadioButton = new JRadioButton();
			sex_femaleRadioButton.setLocation(new java.awt.Point(175,198));
			sex_femaleRadioButton.setText(Sex.FEMALE);
			sex_femaleRadioButton.setBackground(new java.awt.Color(255,153,255));			
			sex_femaleRadioButton.setSize(new java.awt.Dimension(50,21));
			sex_femaleRadioButton.addActionListener(new SexListener());
		}
		return sex_femaleRadioButton;
	}

	private JTextField getNameTextField() {
		if (nameTextField == null) {
			nameTextField = new JTextField();
			nameTextField.setLocation(new java.awt.Point(126,168));
			nameTextField.setSize(new java.awt.Dimension(175,24));
		}
		return nameTextField;
	}
	
	private JTextField getAgeTextField() {
		if (ageTextField == null) {
			ageTextField = new JTextField();
			ageTextField.setLocation(new java.awt.Point(127,228));
			ageTextField.setSize(new java.awt.Dimension(88,24));
		}
		return ageTextField;
	}

	private JTextField getCityTextField() {
		if (cityTextField == null) {
			cityTextField = new JTextField();
			cityTextField.setLocation(new java.awt.Point(411,167));
			cityTextField.setSize(new java.awt.Dimension(114,24));
		}
		return cityTextField;
	}

	private JTextField getTelTextField() {
		if (telTextField == null) {
			telTextField = new JTextField();
			telTextField.setLocation(new java.awt.Point(411,198));
			telTextField.setSize(new java.awt.Dimension(114,24));
		}
		return telTextField;
	}

	private JTextField getSignatureTextField() {
		if (signatureTextField == null) {
			signatureTextField = new JTextField();
			signatureTextField.setLocation(new java.awt.Point(127,275));
			signatureTextField.setText("我选择,我喜欢!");
			signatureTextField.setSize(new java.awt.Dimension(396,24));
		}
		return signatureTextField;
	}

	private JCheckBox getPw_safetyCheckBox() {
		if (pw_safetyCheckBox == null) {
			pw_safetyCheckBox = new JCheckBox();
			pw_safetyCheckBox.setBounds(new java.awt.Rectangle(32,12,148,28));
			pw_safetyCheckBox.setFont(new java.awt.Font("楷体_GB2312", java.awt.Font.BOLD, 18));
			pw_safetyCheckBox.setBackground(new java.awt.Color(226,213,223));
			pw_safetyCheckBox.setForeground(new java.awt.Color(0,153,255));
			pw_safetyCheckBox.setText("密码安全设置");
			pw_safetyCheckBox.addActionListener(new SafetyChkListener());
			
		}
		return pw_safetyCheckBox;
	}

	private JTextField getAnswerTextField() {
		if (answerTextField == null) {
			answerTextField = new JTextField();
			answerTextField.setLocation(new java.awt.Point(180,101));
			answerTextField.setEnabled(false);
			answerTextField.setSize(new java.awt.Dimension(208,25));
		}
		return answerTextField;
	}

	private JTextArea getNoticTextArea() {
		if (noticTextArea == null) {
			noticTextArea = new JTextArea();
			noticTextArea.setBounds(new java.awt.Rectangle(398,60,123,66));
			noticTextArea.setEditable(false);
			noticTextArea.setLineWrap(true);
			noticTextArea.setText("                                         问题和答案均为1-20位(汉字为1-10个)。");
			noticTextArea.setEnabled(false);
			noticTextArea.setBackground(new java.awt.Color(204,255,255));
		}
		return noticTextArea;
	}	
	
	//  自定义函数、类
	
	//  定义“完成注册”按钮监听器类
	
	class CmpRegListener implements ActionListener
	{
		public void actionPerformed(ActionEvent evt)
		{
			if(evt.getSource() == cmp_registerButton)
			{	
				//  msgFromServer用来存储从服务器返回的信息
									
				String msgFromServer = "";				
				
				//  调用CheckInfo()检测用户信息
				
				String msgFromCheck = (String)checkInfo();
				
				//  如果通过检测,则连接服务器,发送套接字给服务器
				
				if(msgFromCheck.compareTo("") == 0)
				{
					UserInfo data = (UserInfo)getUserInfo();
					//  tData用来存储发送到服务器的信息
					TransData tData = new TransData();
					tData.flag = TProtocal.REG_INFO;
					tData.dataObj = (UserInfo)data;
					try
					{
						//  创建套接字,连接服务器
						
						Socket toServer;
						toServer = new Socket(ServerIP.ADDRESS,ServerIP.PORT);	
						//  创建输出流										
						ObjectOutputStream streamToServer = new ObjectOutputStream(toServer.getOutputStream());
						streamToServer.writeObject((TransData)tData);
						
						//  创建输入流,将接受的用户注册信息发送到服务器			
						BufferedReader streamFromServer = new BufferedReader(new InputStreamReader(toServer.getInputStream()));					
						msgFromServer = (String)streamFromServer.readLine();					
						
						//  关闭数据流
						
						streamToServer.close();	
						streamFromServer.close();
						toServer.close();
										
					}
					catch(InvalidClassException e)
					{
						System.out.println("无效类UserInfo" + e);
						return;
					}
					catch(NotSerializableException e)
					{
						System.out.println("对象未序列化" + e);
						return;
					}
					catch(IOException e)
					{
						System.out.println("传输用户注册信息到服务器失败" + e);
						JOptionPane.showMessageDialog(cmp_registerButton,"连接服务器失败!");
						return;
					}
					JOptionPane.showMessageDialog(cmp_registerButton,msgFromServer);					
				}
				else
				{
					JOptionPane.showMessageDialog(cmp_registerButton,msgFromCheck);	
					if(msgFromCheck.compareTo("重复输入密码不一致!") == 0 || msgFromCheck.compareTo("密码长度应该为6-16位!") == 0)
					{
						jPasswordField.setText("");
						jPasswordField1.setText("");
					}				
				}
			}			
		}
	}
	
	
	//	定义“检测用户名”按钮监听器类
	
	class CheckListener implements ActionListener
	{
		public void actionPerformed(ActionEvent evt)
		{
			String msgFromServer = "连接服务器失败!";
			String userID = (String)user_nameTextField.getText().trim();
			if(userID.compareTo("") == 0)
			{
				msgFromServer = "用户名不能为空!";
			}
			else
			{
							
				TransData tData = new TransData();
				tData.flag = TProtocal.USERID_INFO;
				tData.dataObj = userID;
								
				try
				{
					Socket toServer;
					toServer = new Socket(ServerIP.ADDRESS,ServerIP.PORT);
					
					//  创建输出流,将所接受的用户信息发送到服务器
					ObjectOutputStream streamToServer = new ObjectOutputStream(toServer.getOutputStream());	
					streamToServer.writeObject((TransData)tData);
					
					//  创建输入流,接收服务器返回的消息
					BufferedReader streamFromServer = new BufferedReader(new InputStreamReader(toServer.getInputStream()));				
					msgFromServer = (String)streamFromServer.readLine();
					
					//  关闭数据流
					
					streamToServer.close();	
					streamFromServer.close();
					toServer.close();
									
				}
				catch(InvalidClassException e)
				{
					System.out.println("无效类TransData" + e);
					return;
				}
				catch(NotSerializableException e)
				{
					System.out.println("对象未序列化" + e);
					return;
				}
				catch(IOException e)
				{
					System.out.println("传输用户注册信息到服务器失败" + e);	
					JOptionPane.showMessageDialog(checkButton,"连接服务器失败!");			
					return;
				}			
								
			}
			if(msgFromServer.compareTo("此用户名已注册,请使用其它用户名!") == 0)
			{
				user_nameTextField.setText("");
			}
			//  用消息对话框显示服务器返回信息					
			JOptionPane.showMessageDialog(checkButton,msgFromServer);
		}
	}
	
	//	定义“性别”单选按钮监听器类
	
	class SexListener implements ActionListener
	{
		public void actionPerformed(ActionEvent evt)
		{
			if(evt.getSource() == sex_maleRadioButton)
			{
				inSex = Sex.MALE;
				sex_maleRadioButton.setIcon(new ImageIcon(getClass().getResource("/pictures/male.JPG")));
				sex_femaleRadioButton.setIcon(null);
				sex_maleRadioButton.setSelected(true);
				sex_femaleRadioButton.setSelected(false);
			}
			if(evt.getSource() == sex_femaleRadioButton)
			{
				inSex = Sex.FEMALE;
				sex_femaleRadioButton.setIcon(new ImageIcon(getClass().getResource("/pictures/female.JPG")));
				sex_maleRadioButton.setIcon(null);
				sex_femaleRadioButton.setSelected(true);
				sex_maleRadioButton.setSelected(false);
			}			
		}
	}	
	
	//	定义“安全设置”复选按钮监听器类
	
	class SafetyChkListener implements ActionListener
	{		
		public void actionPerformed(ActionEvent evt)		{
			
			
			if(pw_safetyCheckBox.isSelected())
			{
				tagLabel4.setEnabled(true);
				tagLabel5.setEnabled(true);
				questionLabel.setEnabled(true);
				answerLabel.setEnabled(true);
				questionsComboBox.setEnabled(true);
				answerTextField.setEnabled(true);
				noticTextArea.setEnabled(true);				
			}
			if(!pw_safetyCheckBox.isSelected())
			{
				tagLabel4.setEnabled(false);
				tagLabel5.setEnabled(false);
				questionLabel.setEnabled(false);
				answerLabel.setEnabled(false);
				questionsComboBox.setEnabled(false);
				answerTextField.setEnabled(false);
				noticTextArea.setEnabled(false);		
			}
			
		}
	}		
	
	//  定义getUserInfo()函数,用来从用户注册界面获取信息
	
	public UserInfo getUserInfo()
	{
		UserInfo temp = new UserInfo();
		temp.cUserID =  user_nameTextField.getText().trim();
		temp.cPassword =  String.valueOf(jPasswordField.getPassword());
		temp.cUserName =  nameTextField.getText().trim();
		temp.cSex = inSex;
		if(ageTextField.getText().compareTo("") == 0)
		{
			temp.iAge = 0;
		}
		else
		{
			temp.iAge = Integer.parseInt(ageTextField.getText().trim());
		}		
		temp.cCity = cityTextField.getText().trim();
		temp.vTel = telTextField.getText().trim();
		temp.vSignature = signatureTextField.getText().trim();		
		
		if(pw_safetyCheckBox.isSelected())
		{
			temp.vQuestion = String.valueOf(questionsComboBox.getSelectedItem()).trim();
			temp.vAnswer = answerTextField.getText().trim();			
		}
		if(!pw_safetyCheckBox.isSelected())
		{
			temp.vQuestion = "";
			temp.vAnswer = "";
		}
		
		return temp;
	}
	
	//  定义Check()函数,在客户端对输入的注册信息进行检测
	
	public String checkInfo()
	{
		String msgReturn = "";
		UserInfo data = (UserInfo)getUserInfo();
		String repeatPw = String.valueOf(jPasswordField1.getPassword());
		
		if(data.cUserID.compareTo("") == 0 || data.cPassword.compareTo("") == 0 || repeatPw.compareTo("") == 0)
		{
			msgReturn = "带 * 的项不能为空!";
		}
		else if(data.cPassword.length() < 6 || data.cPassword.length() >16 || repeatPw.length() < 6 || repeatPw.length() > 16)
		{
			msgReturn = "密码长度应该为6-16位!";
		}
		else if(data.cPassword.compareTo(repeatPw) != 0)
		{
			msgReturn = "重复输入密码不一致!";
		}
		else if(pw_safetyCheckBox.isSelected())
		{

			if(data.vQuestion.compareTo("") == 0 || data.vAnswer.compareTo("") == 0)
			{
				msgReturn = "带 * 的项不能为空!";
			}
			else if(data.vQuestion.length() > 20 || data.vAnswer.length() >20)
			{
				msgReturn = "问题和答案均为1-20位!";
			}
		}		
		return msgReturn;
	}
} 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -