-
大小: 30KB文件類型: .zip金幣: 2下載: 0 次發布日期: 2021-06-04
- 語言: Java
- 標簽: socketswing??
資源簡介
本聊天室功能齊全。
(1)同時實現私聊和群聊
(2)實時監測人員的上下線
(3)基于TCP
(4)有聊天界面

代碼片段和文件信息
package?TcpCommunication;
import?javax.swing.*;
import?java.awt.*;
import?java.awt.event.*;
import?java.net.*;
import?java.io.*;
import?java.util.*;
public?class?ChatClient?extends?Jframe?implements?ActionListener?{
Jframe?clientframe?=?new?Jframe(“TCP網絡聊天室“); //?新建GUI框架
GridBagLayout?gl; //?新建GridBagLayout布局管理器
BorderLayout?bdl; //?新建BorderLayout布局管理器
GridBagConstraints?gbc; //?新建GridBagConstraints容器
//?聊天界面
JPanel?pnlBack?pnlTalk; //?新建聊天面板
JButton?btnTalk; //?新建按鈕
JTextArea?txtViewTalk;
JLabel?lblTalk?lblTo;
JComboBox?listOnline; //?新建組合框
//?登錄界面
JPanel?pnlLogin; //?新建登錄面板
JLabel?lblServerIP?lblName?lblPassword; //?新建標簽
JTextField?txtTalk?txtServerIP?txtName; //?新建文本域
JPasswordField?txtPassword; //?密碼輸入組件,可以設置密碼的顯示方式
JButton?btnLogin?btnReg?btnExit;
JDialog?dialogLogin?=?new?JDialog(this?“登錄“?true); //?新建一個具有指定標題、模式和指定所有者的對話框
Socket?socket?=?null; //?新建套接字
BufferedReader?in?=?null; //?讀取數據
PrintWriter?out?=?null; //?寫入數據
String?strSend?strReceive?strKey?strStatus;
private?StringTokenizer?st;
public?ChatClient()?{
//?初始化
gl?=?new?GridBagLayout(); //?新建GridBagLayout布局管理器
bdl?=?new?BorderLayout(); //?新建BorderLayout布局管理器
gbc?=?new?GridBagConstraints(); //?新建GridBagConstraints容器
pnlBack?=?(JPanel)?getContentPane();//?用getContentPane()返回該窗體的contentPane?對象,然后將其轉換成JPanel類型
pnlBack.setLayout(bdl);
//?初始化控件
pnlLogin?=?new?JPanel(); //?登錄面板
pnlLogin.setLayout(gl); //?設置登錄面板布局管理器
lblServerIP?=?new?JLabel(“服務器IP:“);
lblName?=?new?JLabel(“????用戶名:“);
lblPassword?=?new?JLabel(“?????密碼:??“);
txtServerIP?=?new?JTextField(12);
txtName?=?new?JTextField(12);
txtPassword?=?new?JPasswordField(12);
txtServerIP.setText(“127.0.0.1“); //?設置初始服務器IP
btnLogin?=?new?JButton(“登錄“);
btnReg?=?new?JButton(“注冊“);
btnExit?=?new?JButton(“退出“);
btnTalk?=?new?JButton(“發送“);
lblTalk?=?new?JLabel(“輸入消息:“);
lblTo?=?new?JLabel(“?To?:“);
txtTalk?=?new?JTextField(30); //?創建一個30列的空文本域
pnlTalk?=?new?JPanel(); //?新建對話面板
txtViewTalk?=?new?JTextArea(18?40); //?創建一個18行40列的文本區域
listOnline?=?new?JComboBox(); //?新建組合框(選擇列表)
txtViewTalk.setForeground(Color.black); //?設置文本域前景顏色為黑色(即為字體顏色)
txtViewTalk.setEditable(false); //?設置文本區域不可編輯
//?添加監聽
btnTalk.addActionListener(this);
btnLogin.addActionListener(this);
btnReg.addActionListener(this);
btnExit.addActionListener(this);
listOnline.addItem(“All“); //?向組合框添加一個條目“ALL“
//?向聊天面板中添加組件
pnlTalk.add(lblTalk);
pnlTalk.add(txtTalk);
pnlTalk.add(lblTo);
pnlTalk.add(listOnline);
pnlTalk.add(btnTalk);
pnlBack.add(“Center“?txtViewTalk);
pnlBack.add(“South“?pnlTalk);
pnlTalk.setBackground(Color.GRAY);
btnTalk.setEnabled(false); //?設置發送按鈕為不可用
//?聊天界面初始化
clientframe.getContentPane().add(pnlBack);
clientframe.setSize(600?450);
clientframe.setVisible(true);
clie
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2017-01-08?10:28??TcpCommunicationFinal\
?????文件?????????301??2016-12-23?16:34??TcpCommunicationFinal\.classpath
?????文件?????????397??2016-12-23?16:34??TcpCommunicationFinal\.project
?????目錄???????????0??2017-01-08?10:28??TcpCommunicationFinal\.settings\
?????文件?????????598??2016-12-23?16:34??TcpCommunicationFinal\.settings\org.eclipse.jdt.core.prefs
?????目錄???????????0??2017-01-08?10:29??TcpCommunicationFinal\bin\
?????目錄???????????0??2017-01-08?10:29??TcpCommunicationFinal\bin\TcpCommunication\
?????文件????????2778??2017-01-08?10:29??TcpCommunicationFinal\bin\TcpCommunication\ChatClient$ClientThread.class
?????文件????????7851??2017-01-08?10:29??TcpCommunicationFinal\bin\TcpCommunication\ChatClient.class
?????文件????????2784??2017-01-08?10:29??TcpCommunicationFinal\bin\TcpCommunication\ChatServer.class
?????文件????????9465??2017-01-08?10:51??TcpCommunicationFinal\bin\TcpCommunication\ServerThread.class
?????文件?????????717??2017-01-08?10:29??TcpCommunicationFinal\bin\TcpCommunication\ServerView$1.class
?????文件????????4991??2017-01-08?10:29??TcpCommunicationFinal\bin\TcpCommunication\ServerView.class
?????文件????????1939??2016-12-23?17:03??TcpCommunicationFinal\log.txt
?????目錄???????????0??2017-01-08?10:28??TcpCommunicationFinal\src\
?????目錄???????????0??2017-01-08?10:28??TcpCommunicationFinal\src\TcpCommunication\
?????文件???????10419??2017-01-05?17:32??TcpCommunicationFinal\src\TcpCommunication\ChatClient.java
?????文件????????2018??2016-12-30?17:30??TcpCommunicationFinal\src\TcpCommunication\ChatServer.java
?????文件???????12216??2017-01-08?10:51??TcpCommunicationFinal\src\TcpCommunication\ServerThread.java
?????文件????????6072??2017-01-05?22:09??TcpCommunicationFinal\src\TcpCommunication\ServerView.java
?????文件?????????106??2017-01-01?14:03??TcpCommunicationFinal\user.txt
評論
共有 條評論