资源简介
使用java Swing开发的基于UDP协议的简单聊天室,附带文件分享功能,文件分享是基于TCP协议实现的
代码片段和文件信息
package personal.wt.chat;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.io.File;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.util.Vector;
import javax.swing.BorderFactory;
import javax.swing.DefaultListModel;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.Jframe;
import javax.swing.JList;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
import javax.swing.JSplitPane;
import javax.swing.JTable;
import javax.swing.filechooser.FileSystemView;
import javax.swing.table.DefaultTableModel;
import personal.wt.chat.server.ShareFileServer;
import personal.wt.chat.share.ShareFileTask;
import personal.wt.chat.util.SystemParam;
import personal.wt.chat.util.TimeAndDateUtil;
/**
* Created by wantao on 2017/7/31.
*/
public class Chatframe extends Jframe implements ActionListener {
/**
*
*/
private static final long serialVersionUID = 2L;
// private JTextArea textArea = new JTextArea(1050);
private DatagramSocket datagramSocket;
private ContentPan contentPan = new ContentPan();
private JScrollPane scrollPane = new JScrollPane();
private JList list;
private DefaultListModel listModel;
private JSplitPane splitPane = null;
private JTable table = null;
private JScrollPane fileScroll = new JScrollPane();
private static final int WIDTH = 550;
private static final int HEIGHT = 350;
private InputNameframe inputNameframe = new InputNameframe();
private String nickName;
public Chatframe() {
this.inputNameframe.getBtn().addActionListener(this);
}
private class updateTask extends Thread {
@Override
public void run() {
while(true){
byte[] reBytes = new byte[64];
DatagramPacket rePacket = new DatagramPacket(reBytes64);
try{
datagramSocket.receive(rePacket);
}catch (Exception e){}
String message = new String(rePacket.getData());
listModel.addElement(message);
/*int k = message.lastIndexOf(‘:‘);
String ipAndPort = message.substring(0 k);
Chatframe.this.settitle(“Simple Chat Client“+ipAndPort);*/
}
}
}
public void updateModel() {
new updateTask().start();
}
public void initModel() {
listModel = new DefaultListModel();
listModel.addElement(“欢迎来到召唤师峡谷!“);
}
public void init() {
System.out.println(“this.nickName:“+this.nickName);
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 301 2017-08-01 22:10 chat3.0\.classpath
文件 383 2017-08-02 14:16 chat3.0\.project
文件 115 2018-03-24 22:00 chat3.0\.settings\org.eclipse.core.resources.prefs
文件 598 2017-08-01 22:10 chat3.0\.settings\org.eclipse.jdt.core.prefs
文件 60885 2017-08-01 22:44 chat3.0\bin\image\ti
文件 6325 2017-08-01 22:44 chat3.0\bin\image\_chat_icon.png
文件 6871 2017-08-01 22:44 chat3.0\bin\image\_ti
文件 1906 2018-03-24 23:34 chat3.0\bin\personal\wt\chat\Chatfr
文件 3254 2018-03-24 23:34 chat3.0\bin\personal\wt\chat\Chatfr
文件 1228 2018-03-24 23:34 chat3.0\bin\personal\wt\chat\Chatfr
文件 1394 2018-03-24 23:34 chat3.0\bin\personal\wt\chat\Chatfr
文件 8317 2018-03-24 23:34 chat3.0\bin\personal\wt\chat\Chatfr
文件 1664 2018-03-24 23:30 chat3.0\bin\personal\wt\chat\Client.class
文件 575 2018-03-24 22:28 chat3.0\bin\personal\wt\chat\ClientMain.class
文件 2198 2018-03-24 21:13 chat3.0\bin\personal\wt\chat\ContentPan.class
文件 2539 2018-03-24 23:34 chat3.0\bin\personal\wt\chat\InputNamefr
文件 4426 2018-03-24 23:32 chat3.0\bin\personal\wt\chat\server\ChatServer.class
文件 2502 2018-03-24 21:40 chat3.0\bin\personal\wt\chat\server\ShareFileServer.class
文件 1644 2018-03-24 21:41 chat3.0\bin\personal\wt\chat\share\ShareFileTask.class
文件 1964 2018-03-24 21:13 chat3.0\bin\personal\wt\chat\util\SystemParam.class
文件 742 2018-03-24 21:52 chat3.0\bin\personal\wt\chat\util\TimeAndDateUtil.class
文件 902 2018-03-24 23:24 chat3.0\bin\personal\wt\chat\util\UdpSendUtil.class
文件 1642 2018-03-24 22:00 chat3.0\bin\personal\wt\chat\util\UISetting.class
文件 116 2018-03-24 21:01 chat3.0\config.properties
文件 60885 2017-08-01 22:44 chat3.0\src\image\ti
文件 6325 2017-08-01 22:44 chat3.0\src\image\_chat_icon.png
文件 6871 2017-08-01 22:44 chat3.0\src\image\_ti
文件 10065 2018-03-24 23:34 chat3.0\src\personal\wt\chat\Chatfr
文件 1300 2018-03-24 23:30 chat3.0\src\personal\wt\chat\Client.java
文件 236 2018-03-24 22:28 chat3.0\src\personal\wt\chat\ClientMain.java
............此处省略30个文件信息
- 上一篇:手机号码归属地
- 下一篇:java实现学生类、教师类继承同一个父类
相关资源
- java基于socket聊天室源代码.rar
- java聊天室程序带数据库
- Java基于UDP传输协议的简单聊天室
- java聊天室socket编程
- Java聊天室
- Java聊天室程序,socket编程
- Java聊天室(界面完整,群聊,私聊,
- C/S结构的java聊天室源代码
- 简易java聊天室ui界面
- eclipse java聊天室
- java聊天室实验报告
- JAVA聊天室项目
- java局域网聊天室课程设计源码
- 局域网聊天室课程设计java
- java聊天室程序设计报告
- java网络聊天室课程设计报告代码和文
- 一个简单java聊天室代码
- 基于java的聊天室设计与实现
- java聊天室(服务器和客户端)
- JAVA综合实验2聊天室
- Java聊天室 课程设计
- Java聊天室程序源代码
- 基于java聊天室
- 简单聊天室java代码
- 面向Socket基于线程池技术的java聊天室
- Java聊天室毕业设计完整版+数据库
- java聊天室源码含客户端、服务端)
- java聊天室WebSocket
评论
共有 条评论