• 大小: 108KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-09
  • 语言: Java
  • 标签: java  qq  聊天  

资源简介

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$styledAction.class

     文件       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\base64.class

     文件       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个文件信息

评论

共有 条评论