计算机网络课程设计简单聊天程序.doc
《计算机网络课程设计简单聊天程序.doc》由会员分享,可在线阅读,更多相关《计算机网络课程设计简单聊天程序.doc(22页珍藏版)》请在三一办公上搜索。
1、黔南民族师范学院 计算机科学系计算机网络课程设计报告课题名称: 简单聊天程序 姓 名: 学 号: 专业班级: 系 (院): 计算机科学系 指导老师: 设计时间: 设计地点: 一、 实验目的和要求1. 实验目的 A。掌握网络编程的知识和技能。 B。熟悉网络软件的开发过程,锻炼解决实际问题的能力。2. 实验要求A。支持多人聊天,聊天内容可以仅仅支持文本信息。B。客户端程序具有图形化用户界面。二、 实验环境A。编程软件:EclipseB。数据库软件:MySql5.0;C。工具:jdk6.0;D。硬件环境:win7系统,Intel Core2 Duo三、 程序的逻辑框图 四、 程序的源代码Login.
2、javapackage chat4;import java.awt.BorderLayout;import java.awt.Button;import java.awt.Dimension;import java.awt.Frame;import java.awt.Label;import java.awt.Panel;import java.awt.Toolkit;import java.awt.event.MouseAdapter;import java.awt.event.MouseEvent;import java.awt.event.WindowAdapter;import jav
3、a.awt.event.WindowEvent;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.Statement;import javax.swing.JOptionPane;import javax.swing.JPasswordField;import javax.swing.JTextField;public class Login private String name;Frame f;Label l_name, l_password;
4、JTextField jtf_name;JPasswordField jpf_password;Button bt_ok, bt_cancle, bt_regist;Panel p_top, p_center, p_bottom;Toolkit toolkit;Dimension screenSize, frameSize;Connection connection;Statement statement;ResultSet resultSet;public void initFrame() /初始化窗体f = new Frame(login);l_name = new Label(名字);l
5、_password = new Label(密码);jtf_name = new JTextField(20);jpf_password = new JPasswordField(20);bt_ok = new Button(登录);bt_ok.addMouseListener(new MouseAdapter() Overridepublic void mouseClicked(MouseEvent e) /判断你输入的用户名和密码是否正确/如果正确,就进入聊天界面if (verify(jtf_name.getText().trim(), jpf_password.getText().tri
6、m() f.setVisible(false);ChatUtil chatUtil=new ChatUtil(); else /否则,弹出对话框JOptionPane.showMessageDialog(f, 你的输入有误,请重新输入!););bt_regist = new Button(注册);bt_regist.addMouseListener(new MouseAdapter() /点击之后进入注册页面Overridepublic void mouseClicked(MouseEvent e) f.setVisible(false);new Regist(););bt_cancle =
7、new Button(重置);bt_cancle.addMouseListener(new MouseAdapter() /点击重置,使用户名框和密码框为空Overridepublic void mouseClicked(MouseEvent e) reset(););p_top = new Panel();p_top.add(l_name);p_top.add(jtf_name);p_center = new Panel();p_center.add(l_password);p_center.add(jpf_password);p_bottom = new Panel();p_bottom.
8、add(bt_ok);p_bottom.add(bt_regist);p_bottom.add(bt_cancle);f.add(p_top, BorderLayout.NORTH);f.add(p_center, BorderLayout.CENTER);f.add(p_bottom, BorderLayout.SOUTH);f.pack();f.setResizable(false);/* * 以下 的为窗体位置 的布局,使窗体置于屏幕的正中间 */toolkit = Toolkit.getDefaultToolkit();screenSize = toolkit.getScreenSiz
9、e();frameSize = f.getSize();int height = screenSize.height - frameSize.height;int width = screenSize.width - frameSize.width;f.setLocation(width / 2, height / 2);f.setVisible(true);f.addWindowListener(new WindowAdapter() /点击窗体右上角的“X”时,退出应用程序Overridepublic void windowClosing(WindowEvent e) System.exi
10、t(0););public Login() initFrame();public static void main(String args) new Login();public void reset() /设置用户名文本框和密码文本框为空jtf_name.setText();jpf_password.setText();public boolean verify(String name, String password) /验证用户的用户名和密码try Class.forName(com.mysql.jdbc.Driver);connection = DriverManager.getCon
11、nection(jdbc:mysql:/127.0.0.1:3306/chat, root, 19890815);statement = connection.createStatement();resultSet = statement.executeQuery(select * from userTable where name= + name+ and password= + password + and state=+ n);if (resultSet.next() return true; else return false; catch (Exception e) e.printS
12、tackTrace();return false;public void setName(String name) this.name = name;public String getName() return name;Regist.javaimport java.awt.BorderLayout;import java.awt.Button;import java.awt.Dimension;import java.awt.Frame;import java.awt.Label;import java.awt.Panel;import java.awt.TextField;import j
13、ava.awt.Toolkit;import java.awt.event.MouseAdapter;import java.awt.event.MouseEvent;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import j
14、avax.swing.JOptionPane;public class Regist Frame f;Label l_name, l_password, l_passwordAgain;TextField tf_name, tf_password, tf_passwordAgain;Button bt_ok, bt_cancle;Panel p_name, p_password, p_passwordAgain, p_bt, p_top;Toolkit toolkit;Dimension screenSize, frameSize;public void init() /初始化窗体f = ne
15、w Frame(regist);l_name = new Label(输入名字:);l_password = new Label(输入密码:);l_passwordAgain = new Label(确认密码:);tf_name = new TextField(20);tf_password = new TextField(20);tf_passwordAgain = new TextField(20);bt_ok = new Button(注册);bt_ok.addMouseListener(new MouseAdapter() Overridepublic void mouseClicke
16、d(MouseEvent e) if (tf_password.getText().trim().equals(/判断密码框和确认密码框 的密码是否一样tf_passwordAgain.getText().trim() /一致时if (regist() /进行注册成功f.setVisible(false);/隐藏注册页面new Login().f.setVisible(true);/显示登录页面 else /密码框和确认密码框 的密码不一致时,弹出对话框JOptionPane.showMessageDialog(f, 两次密码输入有误,请重试!););bt_cancle = new Butto
17、n(取消);bt_cancle.addMouseListener(new MouseAdapter() /点击取消按钮时Overridepublic void mouseClicked(MouseEvent e) close();/隐藏注册窗体new Login().f.setVisible(true);/显示登录窗体);p_name = new Panel();p_name.add(l_name);p_name.add(tf_name);p_password = new Panel();p_password.add(l_password);p_password.add(tf_password
18、);p_passwordAgain = new Panel();p_passwordAgain.add(l_passwordAgain);p_passwordAgain.add(tf_passwordAgain);p_top = new Panel();p_top.setLayout(new BorderLayout();p_top.add(p_name, BorderLayout.NORTH);p_top.add(p_password, BorderLayout.CENTER);p_top.add(p_passwordAgain, BorderLayout.SOUTH);p_bt = new
19、 Panel();p_bt.add(bt_ok);p_bt.add(bt_cancle);f.add(p_top, BorderLayout.NORTH);f.add(p_bt, BorderLayout.SOUTH);/* *以下为使窗体位于屏幕的中间 */toolkit = Toolkit.getDefaultToolkit();screenSize = toolkit.getScreenSize();int heightScreen = screenSize.height;int widthScreen = screenSize.width;f.pack();frameSize = f.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机网络 课程设计 简单 聊天 程序
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-2401463.html