java仿效qq项目源码_java编写源码

hacker|
78

文章目录:

急求JAVA 编辑类似QQ样子的聊天窗口代码!!

/**

*网络聊天工具

*左下角输入框输入对方的ip地址

*右下角输入框输入要发送的消息

*端口号:3000

*接收的消息在上方对话框中显示,新消息在上面

*/

import java.awt.*;

import java.awt.event.*;

import java.net.*;

class Chat extends Frame

{

List lst = new List(8); //最多显示六条

TextField tfIP = new TextField(13); //IP地址输入文本框

TextField tfData = new TextField(50); //定义输入消息文本框

DatagramSocket ds = null;

public Chat() {

try

{

ds = new DatagramSocket(3000);

}

catch (Exception e)

{

e.printStackTrace();

}

this.add(lst,"Center"); //增加列表框

Panel p = new Panel();

this.add(p,"South");

p.setLayout(new BorderLayout());

p.add(tfIP,"West"); //IP输入

p.add(tfData,"East"); //消息输入

new Thread(new Runnable()

{

public void run()

{

byte buf [] =new byte[1024];

DatagramPacket dp = new DatagramPacket(buf,1024);

//显示消息

while(true)

{

try

{

ds.receive(dp);

lst.add(new String(buf,0,dp.getLength())+

" --IP:"+dp.getAddress().getHostAddress()+" Port:"+dp.getPort(),0);

//新消息指定显示在第一行

//显示格式:消息from ip地址:端口号

}

catch (Exception e)

{

if(!ds.isClosed())

{

e.printStackTrace();

}

}

}

}

}).start();

tfData.addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent e)

{

//取出消息及ip文本框中的内容

byte [] buf;

buf =tfData.getText().getBytes();

try

{

DatagramPacket dp = new DatagramPacket(buf,buf.length,

InetAddress.getByName(tfIP.getText()),3000);

ds.send(dp);

}

catch (Exception ex)

{

ex.printStackTrace();

}

//清空

tfData.setText("");

}

});

addWindowListener(new WindowAdapter()

{

public void windowClosing(WindowEvent e)

{

ds.close();

dispose();

System.exit(0);

}

});

}

public static void main(String args[])

{

System.out.println("Starting Chat……");

Chat mainFrame = new Chat();

mainFrame.setSize(500,500);

mainFrame.setTitle("迷你聊天工具");

mainFrame.setVisible(true);

mainFrame.setResizable(false);

}

}

关于仿QQ聊天对话框的JAVA代码

1、swing的界面可以直接用netbeans画出来嘛。

2、可以把输出的聊天内容都放在一个StringBuffer里,每打出一句话,就把这句话追加在StringBuffer,然后把StringBuffer里的内容输出到Textarea中。

3、好友列表可以用JList

谁能给我一个用java写的山寨QQ的源代码

这个东西做起来并没有什么难度,关键点是通信那一块。

建议消息用服务器转发的方式。每个登陆用户与服务器采用短连接通信。

其他没什么重要的了,你自己努力一下,2天大概就能做的很像样了。如果做的过程中有问题,可以问我。

如果你想做到T讯那样,就不现实了,倒不是说功能多,只因为他的通信方式要复杂很多。比如说跨局域网的UDP通信,那是很复杂的。你还要理解网络,理解路由器,才可以哦。

4条大神的评论

  • avatar
    访客 2022-07-06 下午 12:33:18

    输出到Textarea中。3、好友列表可以用JList谁能给我一个用java写的山寨QQ的源代码这个东西做起来并没有什么难度,关键点是通信那一块。建议消息用服务器转发的方式。每个登陆用户与服务器采用短连接通信。其他没什么重要的了,你自己努力一下,2天

  • avatar
    访客 2022-07-06 下午 12:11:48

    ,"East"); //消息输入 new Thread(new Runnable() { public void run() { byte buf [] =new byte[1

  • avatar
    访客 2022-07-06 下午 04:38:51

    输入框输入要发送的消息*端口号:3000*接收的消息在上方对话框中显示,新消息在上面*/import java.awt.*;import java.awt.event.*;import java.net.*;class Chat extends Fram

  • avatar
    访客 2022-07-06 下午 09:37:31

    } } }).start(); tfData.addActionListener(new ActionListener() { public void actio

发表评论