QQ聊天室多线程即时通讯代码全Word文件下载.docx
- 文档编号:15711263
- 上传时间:2022-11-15
- 格式:DOCX
- 页数:23
- 大小:20.86KB
QQ聊天室多线程即时通讯代码全Word文件下载.docx
《QQ聊天室多线程即时通讯代码全Word文件下载.docx》由会员分享,可在线阅读,更多相关《QQ聊天室多线程即时通讯代码全Word文件下载.docx(23页珍藏版)》请在冰豆网上搜索。
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();
10086"
//发送进入聊天室标识
【"
+na+"
】"
+"
进入聊天室"
//发送进入聊天室信息
}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="
悄悄话"
+name1+"
说:
+jtf.getText();
pw.println("
841163574"
//发送私聊标识
pw.println(na+"
1072416535"
+message);
//发送私聊信息
pw.flush();
}
else{
10010"
//发送聊天标识
+jtf.getText());
//发送聊天信息
elseif(event.getActionCommand().equals("
))//点击刷新触发
pw=newPrintWriter(soc.socket.getOutput
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- QQ 聊天室 多线程 即时通讯 代码