java-模拟qq聊天的源代码_第1页
java-模拟qq聊天的源代码_第2页
java-模拟qq聊天的源代码_第3页
java-模拟qq聊天的源代码_第4页
java-模拟qq聊天的源代码_第5页
已阅读5页,还剩10页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

客户端 package mutil import java io BufferedReader import java io IOException import java io InputStreamReader import java io PrintWriter import Socket import javax swing JTextArea public class ClienThread extends Thread private Socket socket null private javax swing JTextArea jTextArea1 public ClienThread JTextArea jTextArea1 this jTextArea1 jTextArea1 public void run try 创建连接 socket new Socket 12344 String message null while true 接受服务端请求 message receive 显示到消息接收框 if message null else this jTextArea1 setText this jTextArea1 getText n 服务端 message else message 服务端以断开连接或未连接 if this jTextArea1 getText null this jTextArea1 getText equals this jTextArea1 setText 服务端 message else this jTextArea1 setText this jTextArea1 getText n 服务端 message break catch IOException e TODO Auto generated catch block e printStackTrace 向服务端发送消息 public void send String message try PrintWriter printWriter new PrintWriter socket getOutputStream printWriter write message n printWriter flush catch IOException e TODO Auto generated catch block e printStackTrace 接受服务端消息 public String receive String message try BufferedReader bufferedReader new BufferedReader new InputStreamReader socket getInputStream message bufferedReader readLine catch IOException e System out println 服务端已断开或未连接 return message 服务端 package mutil import java io BufferedReader import java io IOException import java io InputStreamReader import java io PrintWriter import ServerSocket import Socket import javax swing JTextArea public class ServerThread extends Thread private Socket socket null private ServerSocket serverSocket null private javax swing JTextArea jTextArea1 public ServerThread JTextArea jTextArea1 this jTextArea1 jTextArea1 public void run try 创建连接 serverSocket new ServerSocket 12344 监听客户连接 socket serverSocket accept String message null while true 接受客户请求 message receive socket if message null else this jTextArea1 setText this jTextArea1 getText n 客户端 message else message 客户端以断开连接或未连接 if this jTextArea1 getText null this jTextArea1 getText equals this jTextArea1 setText 客户端 message else this jTextArea1 setText this jTextArea1 getText n 客户端 message break catch IOException e TODO Auto generated catch block e printStackTrace 向客户端发送消息 public void send String message try PrintWriter printWriter new PrintWriter socket getOutputStream printWriter write message n printWriter flush catch IOException e TODO Auto generated catch block e printStackTrace 接受客户端消息 public String receive Socket socket String message try BufferedReader bufferedReader new BufferedReader new InputStreamReader socket getInputStream message bufferedReader readLine catch IOException e System out println 服务端已断开或未连接 return message 服务端界面 SereveFrame java Created on DATE TIME package com insigma frame import mutil ServerThread author USER public class ServerFrame extends javax swing JFrame private ServerThread serverThread Creates new form SereveFrame public ServerFrame initComponents serverThread new ServerThread this jTextArea1 serverThread start This method is called from within the constructor to initialize the form WARNING Do NOT modify this code The content of this method is always regenerated by the Form Editor GEN BEGIN initComponents private void initComponents jScrollPane1 new javax swing JScrollPane jTextArea1 new javax swing JTextArea jScrollPane2 new javax swing JScrollPane jTextArea2 new javax swing JTextArea jButton1 new javax swing JButton jButton2 new javax swing JButton setDefaultCloseOperation javax swing WindowConstants EXIT ON CLOSE setTitle u670d u52a1 u7aef setBackground new java awt Color 153 153 255 jTextArea1 setColumns 20 jTextArea1 setRows 5 jScrollPane1 setViewportView jTextArea1 jTextArea2 setColumns 20 jTextArea2 setRows 5 jScrollPane2 setViewportView jTextArea2 jButton1 setText u53d6 u6d88 jButton1 addActionListener new java awt event ActionListener public void actionPerformed java awt event ActionEvent evt jButton1ActionPerformed evt jButton2 setText u53d1 u9001 jButton2 addActionListener new java awt event ActionListener public void actionPerformed java awt event ActionEvent evt jButton2ActionPerformed evt javax swing GroupLayout layout new javax swing GroupLayout getContentPane getContentPane setLayout layout layout setHorizontalGroup layout createParallelGroup javax swing GroupLayout Alignment LEADING addGroup layout createSequentialGroup addContainerGap addGroup layout createParallelGroup javax swing GroupLayout Alignment LEADING addGroup javax swing GroupLayout Alignment TRAILING layout createSequentialGroup addComponent jButton1 addGap 18 18 18 addComponent jButton2 addGap 35 35 35 addGroup layout createSequentialGroup addComponent jScrollPane1 javax swing GroupLayout PREFERRED SIZE 377 javax swing GroupLayout PREFERRED SIZE addContainerGap javax swing GroupLayout DEFAULT SIZE Short MAX VALUE addGroup javax swing GroupLayout Alignment TRAILING layout createSequentialGroup addComponent jScrollPane2 javax swing GroupLayout DEFAULT SIZE 377 Short MAX VALUE addContainerGap layout setVerticalGroup layout createParallelGroup javax swing GroupLayout Alignment LEADING addGroup layout createSequentialGroup addContainerGap addComponent jScrollPane1 javax swing GroupLayout PREFERRED SIZE 242 javax swing GroupLayout PREFERRED SIZE addGap 18 18 18 addComponent jScrollPane2 javax swing GroupLayout PREFERRED SIZE javax swing GroupLayout DEFAULT SIZE javax swing GroupLayout PREFERRED SIZE addPreferredGap javax swing LayoutStyle ComponentPlacement RELATED addGroup layout createParallelGroup javax swing GroupLayout Alignment BASELINE addComponent jButton2 addComponent jButton1 addContainerGap pack GEN END initComponents 取消 param evt private void jButton1ActionPerformed java awt event ActionEvent evt this jTextArea2 setText 发送 param evt private void jButton2ActionPerformed java awt event ActionEvent evt 向客户端发消息 String message this jTextArea2 getText if message null 清空消息输入框 this jTextArea2 setText 显示到消息接收框 if this jTextArea1 getText null this jTextArea1 getText equals this jTextArea1 setText 我说 message else this jTextArea1 setText this jTextArea1 getText n 我说 message param args the command line arguments public static void main String args java awt EventQueue invokeLater new Runnable public void run new ServerFrame setVisible true GEN BEGIN variables Variables declaration do not modify private javax swing JButton jButton1 private javax swing JButton jButton2 private javax swing JScrollPane jScrollPane1 private javax swing JScrollPane jScrollPane2 private javax swing JTextArea jTextArea1 private javax swing JTextArea jTextArea2 End of variables declaration GEN END variables 客户端界面 ClienFrame java Created on DATE TIME package com insigma frame import mutil ClienThread author USER public class ClienFrame extends javax swing JFrame private ClienThread clienThread Creates new form ClienFrame public ClienFrame initComponents clienThread new ClienThread this jTextArea1 clienThread start This method is called from within the constructor to initialize the form WARNING Do NOT modify this code The content of this method is always regenerated by the Form Editor GEN BEGIN initComponents private void initComponents jScrollPane1 new javax swing JScrollPane jTextArea1 new javax swing JTextArea jScrollPane2 new javax swing JScrollPane jTextArea2 new javax swing JTextArea jButton1 new javax swing JButton jButton2 new javax swing JButton setDefaultCloseOperation javax swing WindowConstants EXIT ON CLOSE setTitle u5ba2 u6237 u7aef setBackground new java awt Color 153 153 255 jTextArea1 setColumns 20 jTextArea1 setRows 5 jScrollPane1 setViewportView jTextArea1 jTextArea2 setColumns 20 jTextArea2 setRows 5 jScrollPane2 setViewportView jTextArea2 jButton1 setText u53d6 u6d88 jButton1 addActionListener new java awt event ActionListener public void actionPerformed java awt event ActionEvent evt jButton1ActionPerformed evt jButton2 setText u53d1 u9001 jButton2 addActionListener new java awt event ActionListener public void actionPerformed java awt event ActionEvent evt jButton2ActionPerformed evt javax swing GroupLayout layout new javax swing GroupLayout getContentPane getContentPane setLayout layout layout setHorizontalGroup layout createParallelGroup javax swing GroupLayout Alignment LEADING addGroup layout createSequentialGroup addContainerGap addGroup layout createParallelGroup javax swing GroupLayout Alignment LEADING addComponent jScrollPane1 javax swing GroupLayout DEFAULT SIZE 376 Short MAX VALUE addGroup javax swing GroupLayout Alignment TRAILING layout createSequentialGroup addComponent jButton1 addGap 18 18 18 addComponent jButton2 addGap 25 25 25 addComponent jScrollPane2 javax swing GroupLayout Alignment TRAILING javax swing GroupLayout DEFAULT SIZE 376 Short MAX VALUE addContainerGap layout setVerticalGroup layout createParallelGroup javax swing GroupLayout Alignment LEADING addGroup javax swing GroupLayout Alignment TRAILING layout createSequentialGroup addContainerGap addComponent jScrollPane1 javax swing GroupLayout DEFAULT SIZE 240 Short MAX VALUE addGap 18 18 18 addComponent jScrollPane2 javax swing GroupLayout PREFERRED SIZE javax swing GroupLayout DEFAULT SIZE javax swing GroupLayout PREFERRED SIZE addPreferredGap javax swing LayoutStyle ComponentPlacement RELATED addGroup layout createParallelGroup javax swing GroupLayout Alignment BASELINE addComponent jButt

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论