Java聊天室代码.docx

上传人:小飞机 文档编号:3159699 上传时间:2023-03-11 格式:DOCX 页数:4 大小:37.67KB
返回 下载 相关 举报
Java聊天室代码.docx_第1页
第1页 / 共4页
Java聊天室代码.docx_第2页
第2页 / 共4页
Java聊天室代码.docx_第3页
第3页 / 共4页
Java聊天室代码.docx_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《Java聊天室代码.docx》由会员分享,可在线阅读,更多相关《Java聊天室代码.docx(4页珍藏版)》请在三一办公上搜索。

1、Java聊天室代码基于UDP的简单java聊天室代码. /* *这个一个简单的利用数据报协议传送信息的聊天测试程序。 *程序由三个简单的组件构成,分别是一个List,用于接收信息, *一个JComboBox,用于输入对方ip地址,和一个JTextField, *用于编辑信息。 *聊天双方的程序必须监听同一个固定的端口,只有这样才能实现 *相互通信。当输入的ip地址为localhost时,自己会收到自己 *发送的信息。 */ package chat; import java.util.*; import .*; import java.io.*; import java.awt.*; impo

2、rt java.awt.event.*; import javax.swing.*; public class Chat extends JFrame PrintStream ps=null; private int port;/端口 java.awt.List list=new java.awt.List(20);/接收信息列表 Vector vector=new Vector;/已发IP列表 JComboBox ipField=new JComboBox(vector);/发送对象ip JTextField textField=new JTextField(20);/编辑发送内容组件 Da

3、tagramSocket socket=null; /* * Method Chat * * */ public Chat(int port) / TODO: 在这添加你的代码 this.port=port; try ps=new PrintStream(log.txt); catch(FileNotFoundException e) e.printStackTrace; try socket=new DatagramSocket(port); catch(Exception e) e.printStackTrace(ps); Container contentPane=this.getCon

4、tentPane; ipField.setPreferredSize(new Dimension(120,20); ipField.setEditable(true); JPanel panel=new JPanel; panel.setLayout(new BoxLayout(panel,BoxLayout.X_AXIS); contentPane.add(list,BorderLayout.CENTER); contentPane.add(panel,BorderLayout.SOUTH); panel.add(ipField); panel.add(textField); receive

5、; addListener; /* *加入并处理事件听侦 */ void addListener /当在textField组件中输入内容后按下回车键,即发送出输入信息。 textField.addActionListener(new ActionListener public void actionPerformed(ActionEvent e) /send message byte buf=textField.getText.getBytes; String ip=(String)ipField.getSelectedItem; try DatagramPacket dp=new Datag

6、ramPacket(buf,buf.length, InetAddress.getByName(ip),port);/利用数据报协议发送信息 socket.send(dp); if(!vector.contains(ip) vector.add(ip); catch(Exception ex) ipField.setSelectedItem(null); ex.printStackTrace(ps); textField.setText(); ); addWindowListener(new WindowAdapter public void windowClosing(WindowEvent

7、 e) socket.close; System.exit(0); ); /* *接收信息线程 */ void receive new Thread(new Runnable public void run byte buf=new byte1024; while(true) try DatagramPacket dp=new DatagramPacket(buf,buf.length); socket.receive(dp); String message=new String(buf,0,dp.getLength)+ from + dp.getAddress.getHostAddress+

8、:+dp.getPort; list.add(message,0); catch(Exception e) if(!socket.isClosed) e.printStackTrace(ps); ).start; /* * Method main * * * param args * */ public static void main(String args) try UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName); catch(Exception e) e.printStackTrace; createAndShowGUI; public static void createAndShowGUI Chat chat=new Chat(8100); chat.pack; chat.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); chat.show;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号