资源简介
java实现的类似qq的聊天系统,并且对数据进行了加密,包含网络安全相关的知识。可以作为毕业设计。

代码片段和文件信息
package chat.client;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
import java.net.*;
/**
*聊天室客户端主程序
*这是运行聊天室客户端程序的入口
*/
public class Client implements ActionListener{
private LogonPane logonPane;//登录界面
private ClientModel client;//客户端数据模型
private ClientUI clientUI;//客户端聊天界面
private JButton enterButtonexitButton;//登录按钮
/**
*登录容器,本程序的设计是将登录窗口和聊天窗口分别采用两个Jframe盛放
*当登录成功时,登录窗口隐藏,显示聊天容器,当意外断开连接时,再次显示
*登录窗口以便重新登录。所以有必要设置一个logonframe指针。
*/
private Jframe logonframe;
/**
*构造方法,用于创建登录界面
*
*
*/
public Client() {
logonframe=new Jframe(“登录“);
//将登录界面各元素加入登录窗口
Container contentPane=logonframe.getContentPane();
logonPane=new LogonPane();
enterButton=new JButton(“登录“);
exitButton=new JButton(“退出“);
logonPane.setRelatedButton(enterButton);
enterButton.addActionListener(this);
exitButton.addActionListener(this);
JPanel controlPane=new JPanel();
controlPane.add(enterButton);
controlPane.add(exitButton);
contentPane.add(logonPaneBorderLayout.CENTER);
contentPane.add(controlPaneBorderLayout.SOUTH);
}
/**
* Method main
*
*
* @param args
*
*/
public static void main(String[] args) {
// TODO: 在这添加你的代码
try{
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
}catch(Exception e){
e.printStackTrace();
}
createAndShowGUI();
}
/**
*按钮事件处理
*此事件源包括“登录“、“退出“两个按钮。
*/
public void actionPerformed(ActionEvent e) {
// “登录“按钮的事件处理,此过程包括连接服务器,创建聊天界面以及各种异常处理
if(e.getSource()==enterButton){
String ip=logonPane.getIP();
String name=logonPane.getName();
int port;
try{
port=logonPane.getPort();
}catch(NumberFormatException ne){//非数字字符在端口一栏
JOptionPane.showMessageDialog(logonframene.getMessage());
return;
}
try{
client=new ClientModel(ipport);
}catch(java.net.UnknownHostException ue){//ip地址出错
JOptionPane.showMessageDialog(logonframe“不可知的服务器:“+ue.getMessage());
return;
}catch(IOException ie){
JOptionPane.showMessageDialog(logonframe“服务器未打开!请打开服务器后重试!“);
return;
}
boolean valid;
try{
valid=client.validate(name);
}catch(IOException ie){
JOptionPane.showMessageDialog(logonframe“服务器连接已满,请稍后重试!“);
return;
}
if(!valid){
JOptionPane.showMessageDialog(logonframe“无效或已经被使用的名字:“+name);
return;
}else{
clientUI=new ClientUI(client){
protected void doWhenStop(){
JOptionPane.showMessageDialog(clientUI“与服务器的连接中断,请重新登录。“);
clientUI.dispose();
logonframe.setVisible(true);
}
};
clientUI.settitle(client.name+“ 的聊天室“);
clientUI.setDefaultCloseOperation(Jframe.DO_NOTHING_ON_CLOSE);
clientUI.setLocationRelativeTo(logonframe);
clientUI.setVisible(true);
client.start();
logonframe.dispose();
}
}else if(e.getSource()==exitButton){
System.exit(1);
}
}
/**
*
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 301 2013-06-26 18:37 WebSecurity\.classpath
文件 387 2013-06-24 19:22 WebSecurity\.project
文件 598 2013-06-24 19:22 WebSecurity\.settings\org.eclipse.jdt.core.prefs
文件 1089 2013-06-26 18:37 WebSecurity\bin\chat\client\Client$1.class
文件 4621 2013-06-26 18:37 WebSecurity\bin\chat\client\Client.class
文件 874 2013-06-27 21:48 WebSecurity\bin\chat\client\ClientModel$1.class
文件 5671 2013-06-27 21:48 WebSecurity\bin\chat\client\ClientModel.class
文件 807 2013-06-27 21:57 WebSecurity\bin\chat\client\ClientUI$1.class
文件 1991 2013-06-27 21:57 WebSecurity\bin\chat\client\ClientUI$2.class
文件 1067 2013-06-27 21:57 WebSecurity\bin\chat\client\ClientUI$CellRenderer.class
文件 13679 2013-06-27 21:57 WebSecurity\bin\chat\client\ClientUI.class
文件 2381 2013-06-27 21:35 WebSecurity\bin\chat\client\EditToolBar$PictureFilter.class
文件 1201 2013-06-27 21:35 WebSecurity\bin\chat\client\EditToolBar$st
文件 8809 2013-06-27 21:35 WebSecurity\bin\chat\client\EditToolBar.class
文件 2730 2013-06-26 18:37 WebSecurity\bin\chat\client\LogonPane.class
文件 6689 2013-06-27 21:52 WebSecurity\bin\chat\client\PrivateClient.class
文件 3603 2013-06-26 18:37 WebSecurity\bin\chat\client\PrivateClientModel.class
文件 5221 2013-06-27 20:49 WebSecurity\bin\chat\secret\ba
文件 3830 2013-06-28 08:36 WebSecurity\bin\chat\secret\DES.class
文件 2301 2013-06-27 19:40 WebSecurity\bin\chat\secret\KeyGenerater.class
文件 3137 2013-06-26 22:59 WebSecurity\bin\chat\secret\RSA.class
文件 1629 2013-06-28 08:32 WebSecurity\bin\chat\secret\Signaturer.class
文件 1782 2013-06-26 18:37 WebSecurity\bin\chat\secret\SignProvider.class
文件 635 2013-06-26 18:37 WebSecurity\bin\chat\server\Server$1.class
文件 1416 2013-06-26 18:37 WebSecurity\bin\chat\server\Server$2.class
文件 1579 2013-06-26 18:37 WebSecurity\bin\chat\server\Server$3.class
文件 1234 2013-06-26 18:37 WebSecurity\bin\chat\server\Server$4.class
文件 1795 2013-06-26 18:37 WebSecurity\bin\chat\server\Server$InfoFormatter.class
文件 2828 2013-06-26 18:37 WebSecurity\bin\chat\server\Server$TextPaneHandler.class
文件 8403 2013-06-26 18:37 WebSecurity\bin\chat\server\Server.class
............此处省略65个文件信息
- 上一篇:围栏检测 java版
- 下一篇:asp.net 主题
相关资源
- 微博系统(Java源码,servlet+jsp),适
- java串口通信全套完整代码-导入eclip
- jsonarray所必需的6个jar包.rar
- 三角网构TIN生成算法,Java语言实现
- java代码编写将excel数据导入到mysql数据
- Java写的cmm词法分析器源代码及javacc学
- JAVA JSP公司财务管理系统 源代码 论文
- JSP+MYSQL旅行社管理信息系统
- 推荐算法的JAVA实现
- 基于Java的酒店管理系统源码(毕业设
- 局域网聊天程序,群聊。私聊。发文
- java-图片识别 图片比较
- android毕业设计
- java23种设计模式+23个实例demo
- java Socket发送/接受报文
- JAVA828436
- java界面美化 提供多套皮肤直接使用
- 在线聊天系统(java代码)
- 基于Java的图书管理系统807185
- java中实现将页面数据导入Excel中
- java 企业销售管理系统
- java做的聊天系统(包括正规课程设计
- Java编写的qq聊天室
- 商店商品管理系统 JAVA写的 有界面
- JAVA开发聊天室程序
- 在linux系统下用java执行系统命令实例
- java期末考试试题两套(答案) 选择(
- JAVA3D编程示例(建模、交互)
- Java 文件加密传输
- java做的房产管理系统
评论
共有 条评论