资源简介
呕心沥血的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实现霍夫曼(huffman)树的压缩和解
- JAVA管程解决哲学家就餐问题
- 客户信息管理系统
- java web开发简单留言板
- java新手8个小项目
- Java实现TXT文件转图片
- java图像处理方法:灰度化,二值化,
- ssd8 exam1 代理服务器 java
- eclipse2019 mac版
- Java基础 用数组写的学生管理系统
- 试题管理系统 JAVA
- java页面置换算法的模拟实现
- java噪声函数库
- jacob-1.19及使用说明
- Java实现显示进度条
- 旅游指南系统完整简单的java编写
- echarts对应后台java类的工具jar
- java代码实现上传视频并截图
- 基于java的中国象棋人机对弈程序
- Dao类实现JAVA连接数据库及相应的增删
- Java开发的——网络、单机二合一——
- 在线考试系统完整代码,JAVA源码
- 贪吃蛇网络版 java代码
- java文本查重工具类封装
- 图书管理系统java+oracle
- 实用JAVA软件工程课程设计
- Java 3D必备dll
- java 生成文件结构目录树
- java版本坦克大战源代码
- 区号秀java版号码归属地查询软件
评论
共有 条评论