• 大小: 31KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-29
  • 语言: Java
  • 标签: java  多线程  聊天室  

资源简介

呕心沥血的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\ClientMainframe$1.class

     文件       4788  2014-05-09 11:35  JChatRoom\bin\client\ClientMainframe$2$1.class

     文件       2761  2014-05-09 11:35  JChatRoom\bin\client\ClientMainframe$2.class

     文件       2888  2014-05-09 11:35  JChatRoom\bin\client\ClientMainframe$3.class

     文件       2533  2014-05-09 11:35  JChatRoom\bin\client\ClientMainframe$4.class

     文件       4398  2014-05-09 11:35  JChatRoom\bin\client\ClientMainframe.class

     文件        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\ServerMainframe$1.class

     文件       5075  2014-05-09 11:34  JChatRoom\bin\server\ServerMainframe$2$1.class

     文件       1389  2014-05-09 11:34  JChatRoom\bin\server\ServerMainframe$2.class

     文件       2553  2014-05-09 11:34  JChatRoom\bin\server\ServerMainframe$3.class

     文件       4982  2014-05-09 11:34  JChatRoom\bin\server\ServerMainframe.class

     文件      10088  2014-05-09 11:35  JChatRoom\src\client\ClientMainframe.java

     文件        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\ServerMainframe.java

     目录          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个文件信息

评论

共有 条评论