资源简介
用Java编写的QQ聊天程序,仅供大家参考、学习与交流。
代码片段和文件信息
package thisMyServer;
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintStream;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.UnknownHostException;
import javax.swing.DefaultListModel;
import javax.swing.JButton;
import javax.swing.Jframe;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.WindowConstants;
public class MyClient {
Jframe frand = new Jframe(“QQ客户端“);//窗口
JButton jb2 = new JButton(“群聊“);//按钮
JLabel fri = new JLabel(“我的好友 (0)“);//标签
JPanel frijp = new JPanel();//容器
DefaultListModel dlm = new DefaultListModel();//?
JList jl = new JList(dlm);//文本列表
Socket so;//套接字
InputStream is;//输入流
BufferedReader br;//(为InputStream等流起缓冲的流)
OutputStream os;//输出流
PrintStream ps;//(为OutputStream等流起缓冲的流)
String prefix = “@对所有人&“;//用来区分是群聊还是悄悄话。
SendMessage sm = new SendMessage();//初始化一个线程的类
String userName = ““;//用来存储标题的字符串。
public MyClient() {
//输入一个名称
userName = javax.swing.JOptionPane.showInputDialog(“请输入您的姓名:“);
frijp.setLayout(new BorderLayout());//布局
frijp.add(fri “North“);//添加标签
frijp.add(jl);//添加列表
frand.add(frijp);//添加容器
frand.add(jb2 “South“);//添加按钮
frand.setBounds(800 300 250 500);//设置窗体大小及其位置。
frand.setVisible(true);//设置窗体为可见
frand.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);//默认关闭为结束程序
/**
* 自动连接服务器。
*/
boolean ifsucc = connect(“127.0.0.1“ 3333);//调用方法连接服务器。
// 初始化对话框。
sm.s = so;
sm.prefix = prefix;
sm.start();//启动线程
if (ifsucc) {
// sm.jta.setText(“接入成功\n“);
/**
* 不断接收服务器上的好友。
*/
MessListen ml = new MessListen();
ml.br = br;
// ml.jta = jta;
ml.start();
} else {
// sm.jta.setText(“连接失败!\n“);
}
/**
* 列表的监听
* 双击好友菜单时弹出私聊对话框。(弹出单人聊天对话框)
*/
jl.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
if (e.getClickCount() == 2) {
jl.locationToIndex(e.getPoint());
sm.prefix = jl.getSelectedValue() + “##单人&&“;
sm.frame.setVisible(true);
}
}
});
/**
* 单击群聊时弹出对话框。(弹出与所有人聊天的对话框)
*/
jb2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
sm.prefix = “@对所有人&“;
sm.frame.setVisible(true);
}
});
}
/**
* 连接到服务器的方法。
*
* @param goip
* 得到服务器IP
* @param goport
* 得到服务器端口号
* @return True:已连接到服务器。False:连接服务器失败。
*/
public boolean co
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1634 2009-09-11 20:10 QQ聊天室\说明.txt
文件 1165824 2009-09-11 20:09 QQ聊天室\PPT参考\项目过程讲解.ppt
文件 16570 2009-08-20 04:33 QQ聊天室\项目\聊天服务器r.jar
文件 16577 2009-08-20 04:33 QQ聊天室\项目\聊天客户端r.jar
文件 6911 2009-08-20 03:44 QQ聊天室\源代码\MyClient.java
文件 7145 2009-08-20 04:32 QQ聊天室\源代码\MyServer.java
目录 0 2009-09-11 20:10 QQ聊天室\PPT参考
目录 0 2009-09-11 20:10 QQ聊天室\项目
目录 0 2009-09-11 20:10 QQ聊天室\源代码
目录 0 2009-09-11 20:10 QQ聊天室
----------- --------- ---------- ----- ----
1214661 10
相关资源
- Java加密与解密的艺术.rar 完整源代码
- RSA与AES混合加密算法的实现java版
- Java web 大作业
- 电子文档查重系统
- Java EE互联网轻量级框架整合开发 SS
- java简单版飞鸽传书
- java 路由分组转发仿真
- TF*IDFjava实现
- java源码分水岭算法
- java实现的sift全部代码
- java实现的R树
- JAVAEE图书管理系统
- java 简单购物车
- JAVA学生教师信息录入小系统
- servlet jar包
- hibernate.jar
- java 复数的类Complex
-
Java+sql数据库+fr
ame图形化界面 - 会议室预定系统java
- java画出一个八边形
- JAVA在服务器端和客户端传输图片和文
- myaql5.0.8驱动程序jar包:mysql-connector
- 超市收银系统 JAVA
- java实现基于websocket的聊天室
- Java反序列化生成Payload附利用脚本
- 达梦数据库jar包包含达梦67
- GsonFormat
-
javax.xm
l.bind.jar - JAVA 音频文件PCM转WAV Utils类
- java读取注册表的简单方法
评论
共有 条评论