资源简介
呕心沥血的java复杂聊天室(包括自定义应用层协议、CS多线程、多客户端登录、上下线提醒等等)。

代码片段和文件信息
package client;
import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;
import java.util.Random;
import java.util.Vector;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.Jframe;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.border.EmptyBorder;
import common.CMD;
import common.ChatText;
import common.Client;
import common.Message;
import common.Utils;
public class ClientMainframe extends Jframe {
private static final long serialVersionUID = 7952439640530949282L;
private JPanel contentPane;
private JTextField textFieldUserName;
//由于本地测试时,客户端的端口号要不一致
private static int clientPort = new Random().nextInt(10000)+1024;
//每个客户端只有一个接收数据包套接字
private static DatagramSocket receiveSocket = null;
private boolean connectFlag = false;
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
ClientMainframe frame = new ClientMainframe();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public ClientMainframe() {
settitle(“Client : Off“);
setDefaultCloseOperation(Jframe.EXIT_ON_CLOSE);
setBounds(100 100 450 371);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5 5 5 5));
setContentPane(contentPane);
contentPane.setLayout(null);
textFieldUserName = new JTextField();
textFieldUserName.setBounds(88 10 133 21);
contentPane.add(textFieldUserName);
textFieldUserName.setColumns(10);
final JButton btnConnect = new JButton(“connect“);
btnConnect.setBounds(228 9 93 23);
contentPane.add(btnConnect);
final JButton btnQuit = new JButton(“quit“);
btnQuit.setEnabled(false);
btnQuit.setBounds(331 9 93 23);
contentPane.add(btnQuit);
JLabel lblNewLabel_1 = new JLabel(“Message Records“);
lblNewLabel_1.setBounds(10 45 113 15);
contentPane.add(lblNewLabel_1);
JLabel lblNewLabel_2 = new JLabel(“Sentence“);
lblNewLabel_2.setBounds(10 199 73 15);
contentPane.add(lblNewLabel_2);
JLabel lblNewLabel_3 = new JLabel(“Receiver“);
lblNewLabel_3.setBounds(331 199 54 15);
contentPane.add(lblNewLabel_3);
final JButton btnSend = new JButton(“Send“);
btnSend.setEnabled(false);
btnSend.setBounds(331 263 93 57);
contentPane.add(btnSend);
final JComboBox comboBoxReceiver = new JComboBox();
comboBoxReceiver.setBounds(331 225 93 21);
contentPane.add(comboBoxReceiver);
JLabel lblNewLabel_4 = new JLabel(“User Name“);
lblNewLabel_4.setBounds(10 10 73 15);
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 301 2014-05-08 11:55 JChatRoom\.classpath
文件 385 2014-05-08 11:55 JChatRoom\.project
文件 629 2014-05-08 11:55 JChatRoom\.settings\org.eclipse.jdt.core.prefs
文件 750 2014-05-09 11:35 JChatRoom\bin\client\ClientMainfr
文件 4788 2014-05-09 11:35 JChatRoom\bin\client\ClientMainfr
文件 2761 2014-05-09 11:35 JChatRoom\bin\client\ClientMainfr
文件 2888 2014-05-09 11:35 JChatRoom\bin\client\ClientMainfr
文件 2533 2014-05-09 11:35 JChatRoom\bin\client\ClientMainfr
文件 4398 2014-05-09 11:35 JChatRoom\bin\client\ClientMainfr
文件 824 2014-05-09 11:35 JChatRoom\bin\common\ChatText.class
文件 1120 2014-05-09 11:32 JChatRoom\bin\common\Client.class
文件 1171 2014-05-09 10:07 JChatRoom\bin\common\CMD.class
文件 874 2014-05-09 10:52 JChatRoom\bin\common\Message.class
文件 2272 2014-05-09 09:48 JChatRoom\bin\common\Utils.class
文件 750 2014-05-09 11:34 JChatRoom\bin\server\ServerMainfr
文件 5075 2014-05-09 11:34 JChatRoom\bin\server\ServerMainfr
文件 1389 2014-05-09 11:34 JChatRoom\bin\server\ServerMainfr
文件 2553 2014-05-09 11:34 JChatRoom\bin\server\ServerMainfr
文件 4982 2014-05-09 11:34 JChatRoom\bin\server\ServerMainfr
文件 10088 2014-05-09 11:35 JChatRoom\src\client\ClientMainfr
文件 632 2014-05-09 11:35 JChatRoom\src\common\ChatText.java
文件 960 2014-05-09 11:32 JChatRoom\src\common\Client.java
文件 271 2014-05-09 10:07 JChatRoom\src\common\CMD.java
文件 676 2014-05-09 10:52 JChatRoom\src\common\Message.java
文件 1698 2014-05-09 09:48 JChatRoom\src\common\Utils.java
文件 7935 2014-05-09 11:34 JChatRoom\src\server\ServerMainfr
目录 0 2014-05-09 10:32 JChatRoom\bin\client
目录 0 2014-05-09 10:29 JChatRoom\bin\common
目录 0 2014-05-09 11:03 JChatRoom\bin\server
目录 0 2014-05-08 21:06 JChatRoom\src\client
............此处省略9个文件信息
相关资源
- 微博系统(Java源码,servlet+jsp),适
- java串口通信全套完整代码-导入eclip
- jsonarray所必需的6个jar包.rar
- 三角网构TIN生成算法,Java语言实现
- java代码编写将excel数据导入到mysql数据
- Java写的cmm词法分析器源代码及javacc学
- JAVA JSP公司财务管理系统 源代码 论文
- JSP+MYSQL旅行社管理信息系统
- 推荐算法的JAVA实现
- 基于Java的酒店管理系统源码(毕业设
- java-图片识别 图片比较
- android毕业设计
- java23种设计模式+23个实例demo
- java Socket发送/接受报文
- JAVA828436
- java界面美化 提供多套皮肤直接使用
- 在线聊天系统(java代码)
- 基于Java的图书管理系统807185
- java中实现将页面数据导入Excel中
- java 企业销售管理系统
- java做的聊天系统(包括正规课程设计
- Java编写的qq聊天室
- 商店商品管理系统 JAVA写的 有界面
- JAVA开发聊天室程序
- 在linux系统下用java执行系统命令实例
- java期末考试试题两套(答案) 选择(
- JAVA3D编程示例(建模、交互)
- Java 文件加密传输
- java做的房产管理系统
- 基于jsp的bbs论坛 非常详细
评论
共有 条评论