QQ聊天室多线程即时通讯代码全.docx

上传人:b****5 文档编号:2800180 上传时间:2022-11-15 格式:DOCX 页数:23 大小:20.86KB
下载 相关 举报
QQ聊天室多线程即时通讯代码全.docx_第1页
第1页 / 共23页
QQ聊天室多线程即时通讯代码全.docx_第2页
第2页 / 共23页
QQ聊天室多线程即时通讯代码全.docx_第3页
第3页 / 共23页
QQ聊天室多线程即时通讯代码全.docx_第4页
第4页 / 共23页
QQ聊天室多线程即时通讯代码全.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

QQ聊天室多线程即时通讯代码全.docx

《QQ聊天室多线程即时通讯代码全.docx》由会员分享,可在线阅读,更多相关《QQ聊天室多线程即时通讯代码全.docx(23页珍藏版)》请在冰豆网上搜索。

QQ聊天室多线程即时通讯代码全.docx

QQ聊天室多线程即时通讯代码全

聊天室----多线程即时通讯程序(完整代码):

运行步骤:

1、将所有的文件在控制台编译一下

2、先运行server(服务器)文件

3、再运行login登陆界面

4、然后自己操作一下就OK了

G_Menu.java程序

importjava.awt.*;

importjava.awt.event.*;

importjavax.swing.*;

importjavax.swing.border.*;

import.*;

importjava.io.*;

classG_MenuextendsJFrameimplementsActionListener

{

JFramejf=newJFrame("聊天室");

publicSocket_onesoc;

publicPrintWriterpw;

publicJPaneljp1=newJPanel();

publicJPaneljp2=newJPanel();

publicJPaneljp3=newJPanel();

publicJPaneljp4=newJPanel();

publicJPaneljp5=newJPanel();

publicJPaneljp6=newJPanel();

publicJPaneljp7=newJPanel();

publicstaticJTextAreajta1=newJTextArea(12,42);

publicstaticJTextAreajta2=newJTextArea(12,42);

publicJLabeljl1=newJLabel("对");

publicstaticJComboBoxjcomb=newJComboBox();

publicJCheckBoxjcb=newJCheckBox("私聊");

publicJTextFieldjtf=newJTextField(36);

publicJButtonjb1=newJButton("发送>>");

publicJButtonjb2=newJButton("刷新");

publicstaticDefaultListModellistModel1;

publicstaticJListlst1;

publicStringna;

publicStringse;

publicStringmessage;

publicvoidgetMenu(Stringname,Stringsex)//显示聊天界面

{

jcomb.addItem("所有人");

this.na=name;

this.se=sex;

jta1.setEditable(false);

jta2.setEditable(false);

listModel1=newDefaultListModel();

lst1=newJList(listModel1);

lst1.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);

lst1.setVisibleRowCount(18);

lst1.setFixedCellHeight(28);

lst1.setFixedCellWidth(100);

JScrollPanejsp1=newJScrollPane(jta1);

JScrollPanejsp2=newJScrollPane(jta2);

JScrollPanejsp3=newJScrollPane(lst1);

jsp3.setBorder(newTitledBorder("好友列表"));

jsp1.setBorder(newTitledBorder("主聊天频道"));

jsp2.setBorder(newTitledBorder("我的频道"));

jp1.setLayout(newGridLayout(2,1));

jp1.add(jsp1);

jp1.add(jsp2);

jp2.setLayout(newFlowLayout(FlowLayout.LEFT));

jp2.add(jl1);

jp2.add(jcomb);

jp2.add(jcb);

jp3.setLayout(newFlowLayout(FlowLayout.LEFT));

jp3.add(jtf);

jp3.add(jb1);

jp4.setLayout(newGridLayout(2,1));

jp4.add(jp2);

jp4.add(jp3);

jp5.setLayout(newBorderLayout());

jp5.add(jp1,BorderLayout.NORTH);

jp5.add(jp4,BorderLayout.SOUTH);

jp6.setLayout(newBorderLayout());

jp6.add(jsp3,BorderLayout.NORTH);

jp6.add(jb2,BorderLayout.SOUTH);

jp7.setLayout(newFlowLayout(FlowLayout.LEFT));

jp7.add(jp5);

jp7.add(jp6);

jf.add(jp7);

jf.setLocation(200,200);

jf.setSize(700,650);

jf.setResizable(false);

jf.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);

jf.setVisible(true);

jb1.addActionListener(this);

jb2.addActionListener(this);

jta1.setLineWrap(true);

jta2.setLineWrap(true);

jsp1.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);

jsp1.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);

jsp2.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);

jsp2.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);

jsp3.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);

jsp3.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);

jf.pack();

}

publicvoidsock()

{try{

Stringuser=na+"("+se+")";//将用户信息保存成字符串形式

soc=newSocket_one(user);//创建客户端对象

pw=newPrintWriter(soc.socket.getOutputStream());//创建输出流

pw.println("1008611");//发送好友列表标识

pw.println(na+":

"+se);//发送用户信息

pw.flush();

pw.println("10086");//发送进入聊天室标识

pw.println("【"+na+"】"+"进入聊天室");//发送进入聊天室信息

pw.flush();

}catch(Exceptionex){

ex.printStackTrace();

}

}

publicG_Menu(){//设置窗口关闭事件,如果点击窗口右上角叉号关闭,执行下边程序

jf.addWindowListener(newWindowAdapter(){

publicvoidwindowClosing(WindowEvente){

try{

pw=newPrintWriter(soc.socket.getOutputStream());

pw.println("456987");//发送下线标识

pw.println(na+":

离开聊天室");//发送下线信息

pw.flush();

jf.dispose();//关闭窗口

}catch(Exceptionex){

}

}

}

);

}

publicvoidactionPerformed(ActionEventevent)//事件触发

{

jb1.setText("发送>>");

jb2.setText("刷新");

try{

pw=newPrintWriter(soc.socket.getOutputStream());

if(event.getActionCommand().equals("发送>>"))//点击发送触发

{

if(!

jtf.getText().equals(""))

{

if(jcb.isSelected())

{

Stringname1=(String)jcomb.getSelectedItem();

message="悄悄话"+na+"("+se+")"+"对"+name1+"说:

"+jtf.getText();

pw.println("841163574");//发送私聊标识

pw.println(na+":

"+name1+"1072416535"+message);//发送私聊信息

pw.flush();

}

else{

pw.println("10010");//发送聊天标识

pw.println(na+"说:

"+jtf.getText());//发送聊天信息

pw.flush();

}

}

}

elseif(event.getActionCommand().equals("刷新"))//点击刷新触发

{

pw=newPrintWriter(soc.socket.getOutput

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 初中作文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1