基于java+swing的通讯聊天程序(java+swing)

基于java+swing的通讯聊天程序(java+swing)

Java实现的群聊程序,还可以发送文件,今天这个小程序只能聊天,不能发文件,功能非常简单,可在局域网内实现互相聊天,源码已经打包成了jar文件,可以在有Java环境的电脑上直接双击运行

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

					try {
						atmFrame frame = new atmFrame(user.getName());
						frame.setTitle(user.getName());
						frame.setVisible(true);
						setVisible(false);
					} catch (Exception ex) {
						ex.printStackTrace();
					}
				} else {
					JOptionPane.showMessageDialog(null, "密码不正确!请重新输入");
					u_name_Field.setText("");
					u_password_field.setText("");
				}
			} else {
				JOptionPane.showMessageDialog(null, "找不到该用户,请先注册!");
				u_name_Field.setText("");
				u_password_field.setText("");
			}
		
		JLabel lblNewLabel_2 = new JLabel("\u786E\u8BA4\u5BC6\u7801\uFF1A");
		lblNewLabel_2.setFont(new Font("新宋体", Font.BOLD, 18));
		lblNewLabel_2.setBounds(69, 211, 101, 28);
		contentPane.add(lblNewLabel_2);
		
		u_name = new JTextField();
		u_name.setBounds(187, 85, 123, 24);
		contentPane.add(u_name);
		u_name.setColumns(10);
		
		u_name_Field = new JTextField();
		u_name_Field.setBounds(184, 57, 157, 29);
		contentPane.add(u_name_Field);
		u_name_Field.setColumns(10);
		
		u_password_field = new JPasswordField();
		u_password_field.setBounds(184, 133, 157, 27);
		contentPane.add(u_password_field);
		
		JLabel lblNewLabel = new JLabel("\u7528\u6237\u6307\u5357");
		lblNewLabel.setForeground(Color.RED);
		lblNewLabel.setBounds(402, 307, 72, 31);
		contentPane.add(lblNewLabel);
	}
		public void actionPerformed(ActionEvent e) {
			// TODO Auto-generated method stub
			user = ExecuteSQL.check(u_name_Field.getText(), u_password_field.getText());
			if (user.getName() != null) {
				if (user.getPassword().equals(u_password_field.getText())) {
					try {
						atmFrame frame = new atmFrame(user.getName());
						frame.setTitle(user.getName());
						frame.setVisible(true);
						setVisible(false);
					} catch (Exception ex) {
						ex.printStackTrace();
					}
				} else {
					JOptionPane.showMessageDialog(null, "密码不正确!请重新输入");
					u_name_Field.setText("");
					u_password_field.setText("");
				}
		LoginButton.setFont(new Font("新宋体", Font.BOLD, 20));
		LoginButton.setBounds(92, 214, 120, 37);
		contentPane.add(LoginButton);
		LoginButton.addActionListener(new loginAction());
		
		JButton signButton = new JButton("\u6CE8\u518C");
		signButton.setFont(new Font("新宋体", Font.BOLD, 20));
		signButton.setBounds(283, 214, 113, 37);
		contentPane.add(signButton);
		signButton.addActionListener(new signAction());
		
		JLabel u_nameLabel = new JLabel("\u7528\u6237\u540D\uFF1A");
		u_nameLabel.setFont(new Font("新宋体", Font.BOLD, 18));
		u_nameLabel.setBounds(92, 49, 88, 37);
		contentPane.add(u_nameLabel);
		
		JLabel u_passwordLabel_1 = new JLabel("\u5BC6\u7801\uFF1A");
		u_passwordLabel_1.setFont(new Font("新宋体", Font.BOLD, 18));
		u_passwordLabel_1.setBounds(92, 130, 88, 27);
		contentPane.add(u_passwordLabel_1);
		
		u_name_Field = new JTextField();
	private JPasswordField u_password;
	private JPasswordField u_password_1;
	private user user;
	
	//注册按钮监听器
	class OKButtonAction implements ActionListener {
		public void actionPerformed(ActionEvent e) {
			// TODO Auto-generated method stub
			if (!u_name.getText().equals("")) {
				if (!u_password.getText().equals("")) {
					if (!u_password_1.getText().equals("")) {
						if (u_password.getText().equals(u_password_1.getText())) {
							user = ExecuteSQL.check(u_name.getText(), u_password.getText());
							if (!u_name.getText().equals(user.getName())) {
								 ExecuteSQL.addUser(u_name.getText(), u_password.getText());
								setVisible(false);
	private JPanel contentPane;
	private JTextField u_name;
	private JPasswordField u_password;
	private JPasswordField u_password_1;
	private user user;
	
	//注册按钮监听器
	class OKButtonAction implements ActionListener {
		public void actionPerformed(ActionEvent e) {
			// TODO Auto-generated method stub
			if (!u_name.getText().equals("")) {
				if (!u_password.getText().equals("")) {
					if (!u_password_1.getText().equals("")) {
						if (u_password.getText().equals(u_password_1.getText())) {
		JLabel lblNewLabel_1 = new JLabel("\u5BC6\u7801\uFF1A");
		lblNewLabel_1.setFont(new Font("新宋体", Font.BOLD, 18));
		lblNewLabel_1.setBounds(88, 149, 88, 28);
		contentPane.add(lblNewLabel_1);
		
		JLabel lblNewLabel_2 = new JLabel("\u786E\u8BA4\u5BC6\u7801\uFF1A");
		lblNewLabel_2.setFont(new Font("新宋体", Font.BOLD, 18));
		lblNewLabel_2.setBounds(69, 211, 101, 28);
		contentPane.add(lblNewLabel_2);
		
		u_name = new JTextField();
		u_name.setBounds(187, 85, 123, 24);
		contentPane.add(u_name);
		u_name.setColumns(10);
		
		u_password = new JPasswordField();
		contentPane.add(u_name);
		u_name.setColumns(10);
		
		u_password = new JPasswordField();
		u_password.setBounds(187, 153, 123, 24);
		contentPane.add(u_password);
		
		u_password_1 = new JPasswordField();
		u_password_1.setBounds(187, 215, 123, 24);
		contentPane.add(u_password_1);
		
		JButton OKButton = new JButton("\u786E\u5B9A");
		OKButton.setFont(new Font("新宋体", Font.BOLD, 20));
		OKButton.setBounds(171, 277, 113, 27);
		contentPane.add(OKButton);
		OKButton.addActionListener(new OKButtonAction());
	}
						ex.printStackTrace();
					}
				} else {
					JOptionPane.showMessageDialog(null, "密码不正确!请重新输入");
					u_name_Field.setText("");
					u_password_field.setText("");
				}
			} else {
				JOptionPane.showMessageDialog(null, "找不到该用户,请先注册!");
				u_name_Field.setText("");
				u_password_field.setText("");
			}
		}
	}
	
	//注册事件监听器
	class signAction implements ActionListener{
		public void actionPerformed(ActionEvent e) {
			// TODO Auto-generated method stub
			SignFrame frame = new SignFrame();
			frame.setVisible(true);
			setVisible(false);
		}
		
					LoginFrame frame = new LoginFrame();
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}
	/**
	 * Create the frame.
	 */
	public LoginFrame() {
		setTitle("\u7F51\u4E0A\u94F6\u884C");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 506, 385);
		contentPane = new JPanel();
		setLocationRelativeTo(null);
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		JLabel lblNewLabel = new JLabel("\u7528\u6237\u540D\uFF1A");
		lblNewLabel.setFont(new Font("新宋体", Font.BOLD, 18));
		lblNewLabel.setBounds(74, 78, 102, 34);
		contentPane.add(lblNewLabel);
		
		JLabel lblNewLabel_1 = new JLabel("\u5BC6\u7801\uFF1A");
		lblNewLabel_1.setFont(new Font("新宋体", Font.BOLD, 18));
		lblNewLabel_1.setBounds(88, 149, 88, 28);
		contentPane.add(lblNewLabel_1);
		
		JLabel lblNewLabel_2 = new JLabel("\u786E\u8BA4\u5BC6\u7801\uFF1A");
		lblNewLabel_2.setFont(new Font("新宋体", Font.BOLD, 18));
		lblNewLabel_2.setBounds(69, 211, 101, 28);
							if (!u_name.getText().equals(user.getName())) {
								 ExecuteSQL.addUser(u_name.getText(), u_password.getText());
								setVisible(false);
								LoginFrame frame = new LoginFrame();
								frame.setVisible(true);
								JOptionPane.showMessageDialog(null, "注册成功,可以继续登录!");
							} else {
								JOptionPane.showMessageDialog(null, "用户名已经存在!");
							}
						} else {
							JOptionPane.showMessageDialog(null, "密码确认不符!");
						}
					} else {
						JOptionPane.showMessageDialog(null, "未输入确认密码!");
					}
				} else {
					JOptionPane.showMessageDialog(null, "未输入密码!");
				}
			} else {
				JOptionPane.showMessageDialog(null, "未输入用户名!");
			}
		}
		
		u_password_1 = new JPasswordField();
		u_password_1.setBounds(187, 215, 123, 24);
		contentPane.add(u_password_1);
		
		JButton OKButton = new JButton("\u786E\u5B9A");
		OKButton.setFont(new Font("新宋体", Font.BOLD, 20));
		OKButton.setBounds(171, 277, 113, 27);
		contentPane.add(OKButton);
		OKButton.addActionListener(new OKButtonAction());
	}
}
登录视图:
public class LoginFrame extends JFrame {
	private JPanel contentPane;
	private JTextField u_name_Field;
	private JPasswordField u_password_field;
	private user user;
	//登录事件监听器
			user = ExecuteSQL.check(u_name_Field.getText(), u_password_field.getText());
			if (user.getName() != null) {
				if (user.getPassword().equals(u_password_field.getText())) {
					try {
						atmFrame frame = new atmFrame(user.getName());
						frame.setTitle(user.getName());
						frame.setVisible(true);
						setVisible(false);
					} catch (Exception ex) {
						ex.printStackTrace();
					}
				} else {
					JOptionPane.showMessageDialog(null, "密码不正确!请重新输入");
					u_name_Field.setText("");
					u_password_field.setText("");
				}
			} else {
				JOptionPane.showMessageDialog(null, "找不到该用户,请先注册!");
		setLocationRelativeTo(null);
		contentPane.setLayout(null);
		
		JLabel lblNewLabel = new JLabel("\u7528\u6237\u540D\uFF1A");
		lblNewLabel.setFont(new Font("新宋体", Font.BOLD, 18));
		lblNewLabel.setBounds(74, 78, 102, 34);
		contentPane.add(lblNewLabel);
		
		JLabel lblNewLabel_1 = new JLabel("\u5BC6\u7801\uFF1A");
		lblNewLabel_1.setFont(new Font("新宋体", Font.BOLD, 18));
		lblNewLabel_1.setBounds(88, 149, 88, 28);
		contentPane.add(lblNewLabel_1);
		
		JLabel lblNewLabel_2 = new JLabel("\u786E\u8BA4\u5BC6\u7801\uFF1A");
		contentPane.add(signButton);
		signButton.addActionListener(new signAction());
		
		JLabel u_nameLabel = new JLabel("\u7528\u6237\u540D\uFF1A");
		u_nameLabel.setFont(new Font("新宋体", Font.BOLD, 18));
		u_nameLabel.setBounds(92, 49, 88, 37);
		contentPane.add(u_nameLabel);
		
		JLabel u_passwordLabel_1 = new JLabel("\u5BC6\u7801\uFF1A");
		u_passwordLabel_1.setFont(new Font("新宋体", Font.BOLD, 18));
		u_passwordLabel_1.setBounds(92, 130, 88, 27);
		contentPane.add(u_passwordLabel_1);
		
		u_name_Field = new JTextField();
		u_name_Field.setBounds(184, 57, 157, 29);
		contentPane.add(u_name_Field);
		u_name_Field.setColumns(10);
		
		u_password_field = new JPasswordField();
				} else {
					JOptionPane.showMessageDialog(null, "密码不正确!请重新输入");
					u_name_Field.setText("");
					u_password_field.setText("");
				}
			} else {
				JOptionPane.showMessageDialog(null, "找不到该用户,请先注册!");
				u_name_Field.setText("");
				u_password_field.setText("");
			}
		}
	}
	
	//注册事件监听器
	class signAction implements ActionListener{
		public void actionPerformed(ActionEvent e) {
			// TODO Auto-generated method stub
			SignFrame frame = new SignFrame();
			frame.setVisible(true);
			setVisible(false);
							user = ExecuteSQL.check(u_name.getText(), u_password.getText());
							if (!u_name.getText().equals(user.getName())) {
								 ExecuteSQL.addUser(u_name.getText(), u_password.getText());
								setVisible(false);
								LoginFrame frame = new LoginFrame();
								frame.setVisible(true);
								JOptionPane.showMessageDialog(null, "注册成功,可以继续登录!");
							} else {
								JOptionPane.showMessageDialog(null, "用户名已经存在!");
							}
						} else {
							JOptionPane.showMessageDialog(null, "密码确认不符!");
						}
					} else {
						JOptionPane.showMessageDialog(null, "未输入确认密码!");
					}
				} else {
					JOptionPane.showMessageDialog(null, "未输入密码!");
				}
				if (!u_password.getText().equals("")) {
					if (!u_password_1.getText().equals("")) {
						if (u_password.getText().equals(u_password_1.getText())) {
							user = ExecuteSQL.check(u_name.getText(), u_password.getText());
							if (!u_name.getText().equals(user.getName())) {
								 ExecuteSQL.addUser(u_name.getText(), u_password.getText());
								setVisible(false);
								LoginFrame frame = new LoginFrame();
								frame.setVisible(true);
								JOptionPane.showMessageDialog(null, "注册成功,可以继续登录!");
							} else {
								JOptionPane.showMessageDialog(null, "用户名已经存在!");
							}
						} else {
							JOptionPane.showMessageDialog(null, "密码确认不符!");
						}
					} else {
						JOptionPane.showMessageDialog(null, "未输入确认密码!");
					LoginFrame frame = new LoginFrame();
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}
	/**
	 * Create the frame.
	 */
	public LoginFrame() {
		setTitle("\u7F51\u4E0A\u94F6\u884C");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 506, 385);
		contentPane = new JPanel();
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					LoginFrame frame = new LoginFrame();
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}
							user = ExecuteSQL.check(u_name.getText(), u_password.getText());
							if (!u_name.getText().equals(user.getName())) {
								 ExecuteSQL.addUser(u_name.getText(), u_password.getText());
								setVisible(false);
								LoginFrame frame = new LoginFrame();
								frame.setVisible(true);
								JOptionPane.showMessageDialog(null, "注册成功,可以继续登录!");
							} else {
								JOptionPane.showMessageDialog(null, "用户名已经存在!");
							}
						} else {
							JOptionPane.showMessageDialog(null, "密码确认不符!");
						}
					} else {
						JOptionPane.showMessageDialog(null, "未输入确认密码!");
					}
					LoginFrame frame = new LoginFrame();
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}
	/**
	 * Create the frame.
	 */
	public LoginFrame() {
		setTitle("\u7F51\u4E0A\u94F6\u884C");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		}
		
	}
	/**
	 * Launch the application.
	 */
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					LoginFrame frame = new LoginFrame();
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}
	/**
	 * Create the frame.
	 */
	public LoginFrame() {
		setTitle("\u7F51\u4E0A\u94F6\u884C");
		contentPane.add(OKButton);
		OKButton.addActionListener(new OKButtonAction());
	}
}
登录视图:
public class LoginFrame extends JFrame {
	private JPanel contentPane;
	private JTextField u_name_Field;
	private JPasswordField u_password_field;
	private user user;
	//登录事件监听器
	class loginAction implements ActionListener {
		public void actionPerformed(ActionEvent e) {
			// TODO Auto-generated method stub
			user = ExecuteSQL.check(u_name_Field.getText(), u_password_field.getText());
			if (user.getName() != null) {
				if (user.getPassword().equals(u_password_field.getText())) {
						frame.setVisible(true);
						setVisible(false);
					} catch (Exception ex) {
						ex.printStackTrace();
					}
				} else {
					JOptionPane.showMessageDialog(null, "密码不正确!请重新输入");
					u_name_Field.setText("");
					u_password_field.setText("");
				}
			} else {
				JOptionPane.showMessageDialog(null, "找不到该用户,请先注册!");
				u_name_Field.setText("");
				u_password_field.setText("");

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值