Java版的QQ小程序
作者:网络转载 发布时间:[ 2014/9/28 10:13:52 ] 推荐标签:Java QQ
QQClient.java
//axun @copy right
package axun.com;
import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class QQClient {
private JFrame f=new JFrame("QQ客户端");
private TextArea t1=new TextArea();
private TextArea t2=new TextArea();
private Button b=new Button("发送");
//一下是 网络通信用的变量
DataOutputStream dos=null;
BufferedReader br=null;
DataInputStream dis=null;
public void Addt1(String s){
t1.append(s);
}
public QQClient(){
f.setSize(400,300);
f.setLayout(new GridLayout(3,1));
t1.setEditable(false); //不可编辑
f.add(t1);
f.add(t2);
f.add(b);
f.setVisible(true);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
b.addActionListener(new bListener());
}
public static void main(String[] args) throws Exception {
QQClient client=new QQClient();
InputStream in=null;
OutputStream out=null;
String string=null;
Socket s=new Socket("localhost",4545);
out=s.getOutputStream();
in=s.getInputStream();
client.dis=new DataInputStream(in);
client.dos=new DataOutputStream(out);
Listen2 l=new Listen2(client,client.dis);
Thread t=new Thread(l);
t.start();
}
class bListener implements ActionListener{
public void actionPerformed(ActionEvent e) {
try{
dos.writeUTF(t2.getText());
Addt1("发送:"+"/n");
Addt1(" "+t2.getText()+"/n");
t2.setText("");
}catch(Exception ep){
}
}
}
}
class Listen2 implements Runnable{
private QQClient client=null;
private DataInputStream dis=null;
private String s=null;
Listen2(QQClient client,DataInputStream dis){
this.client=client;
this.dis=dis;
}
public void run() {
// TODO Auto-generated method stub
try{
while(true){
s=dis.readUTF();
client.Addt1("收到:"+"/n");
client.Addt1(" "+s+"/n");
}
}catch(Exception e){
}
}
}
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系SPASVO小编(021-61079698-8054),我们将立即处理,马上删除。
相关推荐
Java性能测试有哪些不为众人所知的原则?Java设计模式??装饰者模式谈谈Java中遍历Map的几种方法Java Web入门必知你需要理解的Java反射机制知识总结编写更好的Java单元测试的7个技巧编程常用的几种时间戳转换(java .net 数据库)适合Java开发者学习的Python入门教程Java webdriver如何获取浏览器新窗口中的元素?Java重写与重载(区别与用途)Java变量的分类与初始化JavaScript有这几种测试分类Java有哪四个核心技术?给 Java开发者的10个大数据工具和框架Java中几个常用设计模式汇总java生态圈常用技术框架、开源中间件,系统架构及经典案例等

sales@spasvo.com