• 大小: 15KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-13
  • 语言: 其他
  • 标签:

资源简介

已实现的功能:
1、用户登录
2、在线用户列表
3、实时聊天:群聊、私聊
4、好友上线提示
JFrame界面简洁、操作简单!

资源截图

代码片段和文件信息

package Pack;

import java.awt.event.*;
import java.io.*;
import java.net.*;
import java.text.*;
import java.util.*;

import javax.swing.*;
import javax.swing.event.*;

public class Test {
private Jframe jf = null;

private JTextField CastIPTxtFiled = new JTextField(“228.9.6.8“);// 组播IP地址文本框
private JTextField portTxtFiled = new JTextField(“8000“);// 端口地址文本框
private JTextField nameField = new JTextField(“用户“);// 用户名文本框

private JTextArea receiveMesArea = new JTextArea();// 接收消息文本域
private JTextArea sendMesArea = new JTextArea();// 发送消息文本域

private JButton startChatBtn = new JButton(“开始聊天“);// 按钮
private JButton stopChatBtn = new JButton(“断开聊天“);
private JButton quitBtn = new JButton(“退出“);
private JButton saveBtn = new JButton(“保存“);
private JButton cleaBtn = new JButton(“清空“);
private JButton sendBtn = new JButton(“发送“);

private JRadioButton groupchatBtn = new JRadioButton(“群聊“);// 单选按钮
private JRadioButton privatechatBtn = new JRadioButton(“私聊“);
private ButtonGroup btg = new ButtonGroup();

private JList jlist = new JList();// 列表框
private DefaultListModel dlm = new DefaultListModel();// 用dlm向jlist动态增删用户

private JScrollPane jScrollPane1 = new JScrollPane(receiveMesArea);// 滚动窗口
private JScrollPane jScrollPane2 = new JScrollPane(sendMesArea);
private JScrollPane jScrollPane3 = new JScrollPane(jlist);

private BroadCast broadCast = null;
boolean broadCastIsDisable = true;
boolean chitchat = true;// 判断是群聊还是私聊

public void Initframe() {
jf = new Jframe(“组播聊天室“);
jf.setLayout(null);
jf.setSize(650 530);
jf.setLocationRelativeTo(null);// 在屏幕中居中显示
jf.setResizable(false);// 不可调整窗口大小
jf.setDefaultCloseOperation(Jframe.DO_NOTHING_ON_CLOSE);// 标题栏关闭按钮失效

JLabel nameJLabel = new JLabel(“用户名“);
nameJLabel.setBounds(30 80 60 20);
jf.add(nameJLabel);
nameField.setBounds(80 80 100 20);
jf.add(nameField);

JLabel portTxtJLabel = new JLabel(“端口地址“);
portTxtJLabel.setBounds(300 20 60 20);
jf.add(portTxtJLabel);
portTxtFiled.setBounds(360 20 100 20);
jf.add(portTxtFiled);

JLabel CastIPTxtJLabel = new JLabel(“组播IP地址“);
CastIPTxtJLabel.setBounds(10 20 90 20);
jf.add(CastIPTxtJLabel);
CastIPTxtFiled.setBounds(80 20 100 20);
jf.add(CastIPTxtFiled);

startChatBtn.setBounds(220 80 100 20);
stopChatBtn.setBounds(360 80 100 20);
jf.add(startChatBtn);
jf.add(stopChatBtn);

JLabel receiveJLabel = new JLabel(“接收消息“);
receiveJLabel.setBounds(20 140 100 20);
jScrollPane1.setBounds(20 160 460 130);
jScrollPane1.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
jf.add(jScrollPane1);
jf.add(receiveJLabel);

JLabel sendJLabel = new JLabel(“发送消息“);
sendJLabel.setBounds(20 300 100 20);
jScrollPane2.setBounds(20 320 460 100);
jScrollPane2.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
jf.add(jScroll

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        232  2020-02-14 13:54  Multicast\.classpath

     文件        385  2020-02-14 13:54  Multicast\.project

     文件        658  2020-02-14 14:02  Multicast\bin\Pack\Test$1.class

     文件       6805  2020-02-14 14:02  Multicast\bin\Pack\Test$BroadCast.class

     文件       2999  2020-02-14 14:02  Multicast\bin\Pack\Test$ButtonAction.class

     文件       8266  2020-02-14 14:02  Multicast\bin\Pack\Test.class

     文件      15185  2020-02-14 14:02  Multicast\src\Pack\Test.java

     目录          0  2020-02-14 13:54  Multicast\bin\Pack

     目录          0  2020-02-14 13:54  Multicast\src\Pack

     目录          0  2020-02-14 13:54  Multicast\bin

     目录          0  2020-02-14 13:54  Multicast\src

     目录          0  2020-02-14 13:54  Multicast

----------- ---------  ---------- -----  ----

                34530                    12


评论

共有 条评论