文章目录:
急求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通信,那是很复杂的。你还要理解网络,理解路由器,才可以哦。
输出到Textarea中。3、好友列表可以用JList谁能给我一个用java写的山寨QQ的源代码这个东西做起来并没有什么难度,关键点是通信那一块。建议消息用服务器转发的方式。每个登陆用户与服务器采用短连接通信。其他没什么重要的了,你自己努力一下,2天
,"East"); //消息输入 new Thread(new Runnable() { public void run() { byte buf [] =new byte[1
输入框输入要发送的消息*端口号:3000*接收的消息在上方对话框中显示,新消息在上面*/import java.awt.*;import java.awt.event.*;import java.net.*;class Chat extends Fram
} } }).start(); tfData.addActionListener(new ActionListener() { public void actio