欢迎来到天天文库
浏览记录
ID:41032127
大小:241.86 KB
页数:14页
时间:2019-08-14
《网络聊天应用程序》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、网络聊天应用小程序姓名:班级:学号:功能描述实现网络聊天消息显示框显示发送和接收的消息消息编辑框用于编辑要发送的消息按发送按钮或者快捷键Ctrl+Enter发送发送消息后显示到显示区域,并将发送区域的内容清空后台有线程接收消息当接收消息时要显示到显示区域14sendButtonsendAreashowArea总体设计设计界面141414由于要实现发送和接收两个功能,而且两个功能是并行的,所以要用多线程实现。主线程用于发送,另外开个接收线程在本机某个端口监听,接收发送来的数据。配置初始化界面初始化添加事件
2、监听和活动监听接收消息发送消息显示区域点击发送按钮按下Ctrl+Enter键接收提取文字14发送区域添加消息发送详细设计创建多线程方法为newThread(newReceiveThread()).start();classReceiveTreadimplementsRunnable{@Overridepublicvoidrun(){///线程要执行的内容}}DatagramSocket类实现网络通信DatagramSocketds=newDatagramSocket(port);表示监听本机的port端
3、口DatagramPacket类能封装发送或者接收的数据接收数据DatagramPacketdp=newDatagramPacket(b,size);ds.receive(dp);byte[]b=dp.getData();Stringstr=newString(b);发送byteb=“content”.getBytes();DatagramPacketdp=newDatagramPacket(b,b.length,14InetAddress.getByName(host),port);ds.send(d
4、p);显示privateJButtonsendButton;//发送按钮privateJTextAreasendArea;//发送区域privateTextAreashowArea;//接收区域往显示区域添加消息showArea.append(message);从发送区域获得要发送的字符Stringstr=sendArea.getText();给发送区域添加键盘监听,用于实现快捷键发送sendArea.addKeyListener(newKeyAdapter());给发送按钮添加活动监听,当点击时发送消
5、息sendButton.addActionListener(newActionListener());程序代码Chat.javapackagecn.hnist.main;importjavax.swing.JFrame;importjavax.swing.UIManager;importcn.hnist.controller.Controller;publicclassChat{publicstaticvoidmain(String[]args){//设置字体try{UIManager.put("swi
6、ng.boldMetal",Boolean.FALSE);UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());}catch(Exceptione){e.printStackTrace();}//初始化窗口14JFrameframe=newJFrame("聊天");//设置关闭窗体时退出程序frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//初始化一个Control
7、ler类,继承了JPanelControllercontroller=newController();//往窗体上加主面板frame.add(controller);//设置窗体frame.setBounds(120,100,controller.getSize().width+20,controller.getSize().height+10);//设置窗体无法调整大小frame.setResizable(false);//设置窗体可见frame.setVisible(true);}}Controll
8、er.javapackagecn.hnist.controller;importjava.awt.Color;importjava.awt.Font;importjava.awt.TextArea;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjava.awt.event.KeyAdapter;importjava.awt.event.K
此文档下载收益归作者所有