91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 5.74MB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發(fā)布日期: 2023-09-16
  • 語言: Java
  • 標簽: java??qq??swing??jframe??程序??

資源簡介

基于javaswing實現(xiàn)的QQ,已實現(xiàn),登錄注冊,修改基本信息,記住密碼,聊天,發(fā)送文件,抖動,發(fā)送表情等功能

資源截圖

代碼片段和文件信息

package?com.jh.client;

import?java.io.FileOutputStream;
import?java.io.IOException;
import?java.io.objectInputStream;
import?java.io.objectOutputStream;
import?java.net.Socket;
import?java.net.SocketException;
import?java.net.UnknownHostException;

import?com.jh.bean.Account;
import?com.jh.bean.Message;
import?com.jh.common.Constants;
import?com.jh.dao.AccountDAO;
import?com.jh.dao.AccountDAOImpl;
import?com.jh.ui.Chatframe;
import?com.jh.ui.Mainframe;

/**
?*?QQ客戶端,用來連接服務器,
?*?負責消息的接收和發(fā)送
?*?
?*?@author?Administrator
?*
?*/
public?class?Client?{

private?Socket?socket;
private?Mainframe?mainframe;
private?Chatframe?chatframe;

public?Client()?{}

/**
?*?設置窗體,把主窗體傳遞進來
?*?@param?frame
?*/
public?void?setMainframe(Mainframe?mainframe)?{
this.mainframe?=?mainframe;
}

/**
?*?用來登入QQ號,并且把QQ發(fā)送到服務器
?*?如果此QQ號存在,則建立連接
?*?
?*?立馬去開啟讀消息線程,檢測服務器是否有發(fā)送消息過來
?*?@param?account
?*/
public?void?login(Account?account)?{
try?{
socket?=?new?Socket(“l(fā)ocalhost“?Constants.PORT);?//?去連接服務器
if?(socket?!=?null)?{
objectOutputStream?oos?=?new?objectOutputStream(socket.getOutputStream());?//?實例化輸出流
oos.writeobject(account);?//?把存放QQ號的對象傳遞給服務器
new?Thread(new?MessageReadThread(socket)).start();
}
}?catch?(UnknownHostException?e)?{
e.printStackTrace();
}?catch?(IOException?e)?{
e.printStackTrace();
}
}

/**
?*?用來發(fā)送送消息,?并開啟發(fā)消息線程
?*?@param?message
?*/
public?void?sendMessage(Message?message)?{
MessageWriteThread?mwt?=?new?MessageWriteThread(socket);
mwt.setMessage(message);
new?Thread(mwt).start();?//?開啟寫消息線程
}

/**
?*?此線程用來讀取服務器發(fā)來的消息,需要一直開啟
?*?@author?Administrator
?*
?*/
class?MessageReadThread?implements?Runnable?{

private?Socket?socket;

public?MessageReadThread(Socket?socket)?{
this.socket?=?socket;
}

@Override
public?void?run()?{
while?(true)?{
try?{
Thread.sleep(Constants.MESSAGE_SLEEP);
objectInputStream?ois?=?new?objectInputStream(socket.getInputStream());
object?obj?=?ois.readobject();
if?(obj?instanceof?Message)?{
Message?message?=?(Message)?obj;
if?(message?!=?null)?{
chatframe?=?mainframe.getChatframes().get(message.getFromAccount());
if?(message.getType()?==?Message.NORMAL_MSG)?{
System.out.println(“接收來自“?+?message.getFromAccount().getNumber()?+?“的消息:“);
System.out.println(“消息內容:“?+?message.getMessage());
if?(chatframe?==?null?||?!chatframe.isVisible())?{?//?如果聊天窗口是不可見的或者沒有打開聊天窗口
mainframe.requstMessage(message);?//?啟動消息閃動的線程
}?else?{
chatframe.updateMessage(message);?//?更新消息
}
}?else?if?(message.getType()?==?Message.REQUST_MSG)?{
mainframe.requstAddFriend(message);?//?啟動消息閃動線程
}?else?if?(message.getType()?==?Message.REQUST_REV_MSG)?{
Account?account?=?message.getFromAccount();?//?獲取到發(fā)消息的對象
AccountDAO?accountDAO?=?new?AccountDAOImpl();
accountDAO.addFriends(message.getToAccount().getNumber()?message.getFromAccount(

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2017-02-13?01:40??QQProject-master\
?????文件?????????189??2017-02-13?01:40??QQProject-master\.gitignore
?????文件???????11514??2017-02-13?01:40??QQProject-master\LICENSE
?????目錄???????????0??2017-02-13?01:40??QQProject-master\MyQQClient\
?????文件?????????371??2017-02-13?01:40??QQProject-master\MyQQClient\.classpath
?????文件?????????369??2017-02-13?01:40??QQProject-master\MyQQClient\.project
?????目錄???????????0??2017-02-13?01:40??QQProject-master\MyQQClient\.settings\
?????文件?????????587??2017-02-13?01:40??QQProject-master\MyQQClient\.settings\org.eclipse.jdt.core.prefs
?????目錄???????????0??2017-02-13?01:40??QQProject-master\MyQQClient\bin\
?????目錄???????????0??2017-02-13?01:40??QQProject-master\MyQQClient\bin\images\
?????文件????????3489??2017-02-13?01:40??QQProject-master\MyQQClient\bin\images\PaiPai.png
?????文件????????3798??2017-02-13?01:40??QQProject-master\MyQQClient\bin\images\QQGame.png
?????文件????????2037??2017-02-13?01:40??QQProject-master\MyQQClient\bin\images\QQGroup.png
?????文件????????3680??2017-02-13?01:40??QQProject-master\MyQQClient\bin\images\QQPCMgr.png
?????文件????????3784??2017-02-13?01:40??QQProject-master\MyQQClient\bin\images\QQPet.png
?????文件????????3563??2017-02-13?01:40??QQProject-master\MyQQClient\bin\images\QQSafe.png
?????文件????????1252??2017-02-13?01:40??QQProject-master\MyQQClient\bin\images\Tourism.png
?????文件????????3770??2017-02-13?01:40??QQProject-master\MyQQClient\bin\images\WirelessLive.png
?????文件??????146716??2017-02-13?01:40??QQProject-master\MyQQClient\bin\images\ad.png
?????文件????????2487??2017-02-13?01:40??QQProject-master\MyQQClient\bin\images\add_acc.png
?????文件????????1901??2017-02-13?01:40??QQProject-master\MyQQClient\bin\images\apply.png
?????文件??????147285??2017-02-13?01:40??QQProject-master\MyQQClient\bin\images\applyManage.png
?????文件?????????311??2017-02-13?01:40??QQProject-master\MyQQClient\bin\images\applyManage_icon.png
?????文件??????131337??2017-02-13?01:40??QQProject-master\MyQQClient\bin\images\background1.png
?????文件??????131182??2017-02-13?01:40??QQProject-master\MyQQClient\bin\images\background2.png
?????文件???????67085??2017-02-13?01:40??QQProject-master\MyQQClient\bin\images\background3.png
?????文件?????????626??2017-02-13?01:40??QQProject-master\MyQQClient\bin\images\beautiful.png
?????文件????????1992??2017-02-13?01:40??QQProject-master\MyQQClient\bin\images\bottom_01.png
?????文件????????2519??2017-02-13?01:40??QQProject-master\MyQQClient\bin\images\bottom_02.png
?????文件????????2129??2017-02-13?01:40??QQProject-master\MyQQClient\bin\images\bottom_03.png
?????文件????????2204??2017-02-13?01:40??QQProject-master\MyQQClient\bin\images\bottom_04.png
............此處省略519個文件信息

評論

共有 條評論