设为首页 加入收藏

TOP

java小型聊天室源代码(一)
2014-11-24 09:19:35 】 浏览:714
Tags:java 小型 聊天室 源代码
[java]
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.TextArea;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;
import java.net.UnknownHostException;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollBar;
import javax.swing.JScrollPane;


public class UDPChat extends JFrame implements ActionListener{

public TextArea textmessage = null;
public TextArea sendtext = null;
public DatagramSocket socket;
public JScrollBar vsBar;
public UDPChat()
{
super();
setTitle("小型聊天程序");
setBounds(200,150,350,280);
JPanel panel1 = new JPanel();
JPanel panel2 = new JPanel();
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBackground(Color.BLACK);
textmessage = new TextArea();
sendtext = new TextArea();

textmessage.setEditable(false);
textmessage.setColumns(35);
textmessage.setRows(10);
// textmessage.setLineWrap(true);

sendtext.setColumns(35);
sendtext.setRows(2);

JButton buttonOK = new JButton("确定");
JButton buttonclean = new JButton("清空");
JButton buttonquit = new JButton("退出");
GridLayout grid = new GridLayout(3,1);
grid.setHgap(10);
grid.setVgap(10);
panel1.setLayout(grid);
// panel1.setLayout(new GridLayout(3,1));

panel1.add(buttonOK);
panel1.add(buttonclean);
panel1.add(buttonquit);

panel2.setLayout(new FlowLayout());
panel2.add(textmessage);
panel2.add(sendtext);
getContentPane().add(panel1,BorderLayout.EAST);
getContentPane().add(panel2,BorderLayout.CENTER);
setVisible(true);
buttonOK.addActionListener(this);
buttonclean.addActionListener(this);
buttonquit.addActionListener(this);
server();
}
public void server()
{
try{
socket = new DatagramSocket(9527);
byte[] buf = new byte[1024];
final DatagramPacket dp1 = new DatagramPacket(buf,buf.length);
Runnable run = new Runnable(){
public void run()
{
while(true)
{
try{
Thread.sleep(100);
socket.receive(dp1);
int len = dp1.getLength();
String message = new String(dp1.getData(),0,len);
String ip = dp1.getAddress().getHostAddress();
System.out.println(ip);
if(!InetAddress.getLocalHost().getHostAddress().equals(ip))
textmessage.append(ip+"\n"+message+'\n');
}catch(IOException e)
{
首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇java 网络编程 页面下载源代码 下一篇java 导入excel数据demo

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目