资源简介
本代码是《从小白到大牛》电子书第30章实战项目(Java版QQ聊天工具)源代码,项目采用Eclipse开发。所涉及到的知识点:Java面向对象、Lambda表达式、Java Swing技术、多线程技术和网络通信等知识,其中还会用到方方面面的Java基础知识。
【相关Java视频课程】:
1、http://www.zhijieketang.com/classroom/6/introduction
【配套电子书】网址:
1、图灵社区:http://www.ituring.com.cn/book/2480
2、百度阅读:https://yuedu.baidu.com/ebook/7c1499987e192279168884868762caaedd33ba00

代码片段和文件信息
/*
* Created by 智捷课堂
* 本书网站:www.51work6.com
* 智捷课堂在线课堂:www.zhijieketang.com
* 智捷课堂微信公共号:zhijieketang
* 邮箱:eorient@sina.com
* Java读者服务QQ群:547370999
* 【配套电子书】网址:
* 图灵社区:
* http://www.ituring.com.cn/book/2480
* 百度阅读:
* https://yuedu.baidu.com/ebook/7c1499987e192279168884868762caaedd33ba00
*/
package com.a51work6.qq.client;
import java.awt.Color;
import java.awt.Rectangle;
import java.awt.Toolkit;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.InetAddress;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.Jframe;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import org.json.JSONArray;
import org.json.JSONobject;
public class Chatframe extends Jframe implements Runnable {
private boolean isRunning = true;
// 当前用户Id
private String userId;
// 聊天好友用户Id
private String friendUserId;
// 聊天好友用户名
private String friendUserName;
// 获得当前屏幕的高宽
private double screenHeight = Toolkit.getDefaultToolkit().getScreenSize().getHeight();
private double screenWidth = Toolkit.getDefaultToolkit().getScreenSize().getWidth();
// 登录窗口宽高
private int frameWidth = 345;
private int frameHeight = 310;
// 查看消息文本区
private JTextArea txtMainInfo;
// 发送消息文本区
private JTextArea txtInfo;
// 消息日志
private StringBuffer infoLog;
// 接收消息子线程
private Thread receiveMessageThread;
// 日期格式化
private DateFormat dateFormat = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss“);
// 好友列表frame
private Friendsframe friendsframe;
public Chatframe(Friendsframe friendsframe Map user Map friend) {
// 初始化成员变量
this.friendsframe = friendsframe;
this.userId = user.get(“user_id“);
String userIcon = user.get(“user_icon“);
this.friendUserId = friend.get(“user_id“);
this.friendUserName = friend.get(“user_name“);
this.infoLog = new StringBuffer();
// 初始化查看消息面板
getContentPane().add(getPanLine1());
// 初始化发送消息面板
getContentPane().add(getPanLine2());
/// 初始化当前frame
String iconFile = String.format(“/resource/img/%s.jpg“ userIcon);
setIconImage(Toolkit.getDefaultToolkit().getImage(Client.class.getResource(iconFile)));
String title = String.format(“与%s聊天中...“ friendUserName);
settitle(title);
setResizable(false);
getContentPane().setLayout(null);
// 设置frame大小
setSize(frameWidth frameHeight);
// 计算frame位于屏幕中心的坐标
int x = (int) (screenWidth - frameWidth) / 2;
int y = (int) (screenHeight - frameHeight) / 2;
// 设置frame位于屏幕中心
setLocation(x y);
receiveMessageThread = new Thread(this);
receiveMessageThread.start();
// 注册窗口事件
addWindowListener(new WindowAdapter() {
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2017-09-13 00:47 QQ2006\
文件 378 2017-06-27 16:14 QQ2006\.classpath
文件 382 2017-07-01 00:33 QQ2006\.project
目录 0 2017-09-13 00:47 QQ2006\.settings\
文件 598 2017-06-23 10:53 QQ2006\.settings\org.eclipse.jdt.core.prefs
目录 0 2017-09-13 00:47 QQ2006\bin\
目录 0 2017-09-13 00:47 QQ2006\bin\com\
目录 0 2017-09-13 00:47 QQ2006\bin\com\a51work6\
目录 0 2017-09-13 00:47 QQ2006\bin\com\a51work6\qq\
目录 0 2017-09-13 00:47 QQ2006\bin\com\a51work6\qq\client\
文件 1065 2017-08-30 21:41 QQ2006\bin\com\a51work6\qq\client\Chatfr
文件 8796 2017-08-30 21:41 QQ2006\bin\com\a51work6\qq\client\Chatfr
文件 1428 2017-08-30 21:40 QQ2006\bin\com\a51work6\qq\client\Client.class
文件 1181 2017-08-30 21:40 QQ2006\bin\com\a51work6\qq\client\Friendsfr
文件 1915 2017-08-30 21:40 QQ2006\bin\com\a51work6\qq\client\Friendsfr
文件 6889 2017-08-30 21:40 QQ2006\bin\com\a51work6\qq\client\Friendsfr
文件 736 2017-08-30 21:40 QQ2006\bin\com\a51work6\qq\client\Loginfr
文件 7465 2017-08-30 21:40 QQ2006\bin\com\a51work6\qq\client\Loginfr
目录 0 2017-09-13 00:47 QQ2006\bin\com\a51work6\qq\server\
文件 1027 2017-08-30 21:40 QQ2006\bin\com\a51work6\qq\server\ClientInfo.class
文件 166 2017-06-30 15:57 QQ2006\bin\com\a51work6\qq\server\config.properties
文件 1857 2017-08-30 21:40 QQ2006\bin\com\a51work6\qq\server\DBHelper.class
文件 6628 2017-08-30 21:40 QQ2006\bin\com\a51work6\qq\server\Server.class
文件 4836 2017-08-30 21:40 QQ2006\bin\com\a51work6\qq\server\UserDAO.class
目录 0 2017-09-13 00:47 QQ2006\bin\org\
目录 0 2017-09-13 00:47 QQ2006\bin\org\json\
文件 4450 2017-08-30 21:40 QQ2006\bin\org\json\CDL.class
文件 3154 2017-08-30 21:40 QQ2006\bin\org\json\Cookie.class
文件 2259 2017-08-30 21:40 QQ2006\bin\org\json\CookieList.class
文件 2971 2017-08-30 21:40 QQ2006\bin\org\json\HTTP.class
文件 1106 2017-08-30 21:40 QQ2006\bin\org\json\HTTPTokener.class
............此处省略504个文件信息
相关资源
- Java编写的qq聊天室
- java实现的QQ登录界面
- 简单qq聊天(Java socket实现)
- java用spring struts hibernate做的学生成绩
- Java 仿QQ(附客户端以及服务端源码)
- 我的全部java项目(博客项目的代码)
- 最新数据验证工具类java,身份证、手
- javaqq私聊+群聊+截图+文件传送等源码
- java项目开发自学手册源码
- JavaWEB商城项目(包括数据库)
- java项目——城市公交管理系统
- JAVA局域网聊天系统微仿QQ
- qq游戏连连看java秒杀外挂源码
- Java项目源码下载151657
- Android仿QQ聊天系统Android
- JAVA项目-斗地主游戏 图形界面&&纸牌库
- java项目经验案列
- QQ机器人java,群管理,自动回复,笑
- ePass1000ND java项目调用demo
-
Android qq微信空间刷赞 包含ja
vasc - Android的模仿聊天QQ
- 网上银行java项目源代码含最终文档超
- Java项目网吧管理系统源代码
- QQ、微信自动接听辅助工具 Android
- Android旋转专辑图片—仿留声机效果
- Android 仿QQ界面 适合新手学习
- Java项目毕设美食相关源代码客户端和
- Android应用源码仿QQ邮箱安卓客户端项
-
java实现QQ聊天Jfr
ame客户端+服务器 - 手机qq共存版
评论
共有 条评论