資源簡介
已實現的功能:
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
評論
共有 條評論