资源简介
已实现的功能:
1、用户登录
2、在线用户列表
3、实时聊天:群聊、私聊
4、好友上线提示
JFrame界面简洁、操作简单!
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
评论
共有 条评论