• 大小: 496KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-07
  • 语言: Java
  • 标签: java  QQ  聊天室  源代码  

资源简介

用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


评论

共有 条评论