資源簡介
通過一個socket來實現聊天室的各種功能版本,用一個線程來實現這些功能,客戶端發送每一條消息的時候,前三個字都是用來標識這個信息的功能的,服務器接受到以后來判斷,分別對每一個功能進行不同操作,服務器再發給客戶端,客戶端也進行判斷,進行不同功能的操作。

代碼片段和文件信息
package?Chat;
import?java.awt.BorderLayout;
import?java.awt.Checkbox;
import?java.awt.CheckboxGroup;
import?java.awt.Choice;
import?java.awt.Color;
import?java.awt.Dimension;
import?java.awt.FlowLayout;
import?java.awt.Font;
import?java.awt.Graphics;
import?java.awt.Image;
import?java.awt.event.ActionEvent;
import?java.awt.event.ActionListener;
import?java.awt.event.WindowAdapter;
import?java.awt.event.WindowEvent;
import?java.io.DataInputStream;
import?java.io.DataOutputStream;
import?java.io.IOException;
import?java.io.InputStream;
import?java.io.OutputStream;
import?java.net.Socket;
import?java.net.SocketException;
import?java.net.UnknownHostException;
import?java.util.ArrayList;
import?java.util.List;
import?javax.swing.BorderFactory;
import?javax.swing.ImageIcon;
import?javax.swing.JButton;
import?javax.swing.Jframe;
import?javax.swing.JLabel;
import?javax.swing.JPanel;
import?javax.swing.JScrollPane;
import?javax.swing.JTextArea;
import?javax.swing.JTextField;
public?class?Client?extends?Jframe?{
Client?clent;
private?JTextField?user?=?new?JTextField(20);
private?Font?userfont?=?new?Font(“aabb“?Font.BOLD?24);
private?JLabel?accout?=?new?JLabel(“用戶:“);
private?JLabel?usersex?=?new?JLabel(“性別:“);
private?JPanel?GImag;
private?JButton?post?=?new?JButton(“進入聊天室“);
private?CheckboxGroup?sex;
private?String?userNameis?=?“匿名用戶“;
private?String?selectSex;
//?好友列表的背景
private?JPanel?friendbackground;
private?JTextArea?friendtext;
private?Socket?clientSocket;
//?流
private?OutputStream?ops;
private?DataOutputStream?dos;
private?InputStream?ips;
private?DataInputStream?dis;
//?私聊的人物列表
private?Choice?allorone;
private?boolean?flag?=?false;
public?Client(String?name)?{
super(name);
}
public?Client()?{
}
/*
?*?用戶登錄界面的frame
?*/
private?void?LogPage()?{
clent?=?new?Client(“登錄“);
clent.setBounds(710?265?500?550);
clent.addWindowListener(new?MyWindowclose());
Image?Icon?=?getToolkit().getImage(“src\\Chat\\QQIcon.png“);
clent.setIconImage(Icon);
JPanel?body?=?new?JPanel();
body.setLayout(null);
GImag?=?new?JPanel()?{
@Override
protected?void?paintComponent(Graphics?g)?{
ImageIcon?icon?=?new?ImageIcon(“src\\Chat\\wchat.jpg“);
Image?img?=?icon.getImage();
g.drawImage(img?0?0?icon.getIconWidth()
icon.getIconHeight()?icon.getImageObserver());
clent.setSize(500?550);
}
};
GImag.setBounds(0?0?500?550);
/*
?*?用戶輸入信息框
?*/
JPanel?username?=?new?JPanel();
username.setBounds(100?200?300?300);
username.setLayout(null);
username.setBackground(null);
username.setOpaque(false);
user.setBounds(100?0?150?24);
user.setBackground(new?Color(14931399));
user.setForeground(new?Color(4936946));
//?設置用戶字體:
accout.setFont(userfont);
accout.setForeground(Color.green);
accout.setBounds(25?0?100?24);
usersex.setFont(userfont);
usersex.setF
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2017-08-31?09:40??ChatClient\
?????文件?????????301??2017-08-11?16:20??ChatClient\.classpath
?????文件?????????392??2017-08-14?13:24??ChatClient\.project
?????目錄???????????0??2017-08-14?13:24??ChatClient\.settings\
?????文件?????????598??2017-08-11?16:20??ChatClient\.settings\org.eclipse.jdt.core.prefs
?????目錄???????????0??2017-08-31?08:52??ChatClient\bin\
?????目錄???????????0??2017-08-31?09:40??ChatClient\bin\Chat\
?????文件???????20383??2017-08-06?14:12??ChatClient\bin\Chat\background1.jpg
?????文件????????1104??2017-08-31?09:21??ChatClient\bin\Chat\Client$1.class
?????文件????????2151??2017-08-31?09:21??ChatClient\bin\Chat\Client$2.class
?????文件?????????725??2017-08-31?09:21??ChatClient\bin\Chat\Client$3.class
?????文件????????1010??2017-08-31?09:21??ChatClient\bin\Chat\Client$4.class
?????文件?????????752??2017-08-31?09:21??ChatClient\bin\Chat\Client$5$1.class
?????文件????????1681??2017-08-31?09:21??ChatClient\bin\Chat\Client$5$2.class
?????文件????????1522??2017-08-31?09:21??ChatClient\bin\Chat\Client$5.class
?????文件????????4666??2017-08-31?09:21??ChatClient\bin\Chat\Client$Clientget.class
?????文件????????1059??2017-08-31?09:21??ChatClient\bin\Chat\Client$MyAction.class
?????文件?????????738??2017-08-31?09:21??ChatClient\bin\Chat\Client$MyWindowclose.class
?????文件???????11907??2017-08-31?09:21??ChatClient\bin\Chat\Client.class
?????文件???????22120??2017-08-05?10:32??ChatClient\bin\Chat\QQIcon.png
?????文件????????4857??2017-08-31?09:21??ChatClient\bin\Chat\Server$Client.class
?????文件????????2052??2017-08-31?09:21??ChatClient\bin\Chat\Server.class
?????文件??????136663??2017-08-05?11:21??ChatClient\bin\Chat\wchat.jpg
?????目錄???????????0??2017-08-14?13:24??ChatClient\src\
?????目錄???????????0??2017-08-31?09:40??ChatClient\src\Chat\
?????文件???????20383??2017-08-06?14:12??ChatClient\src\Chat\background1.jpg
?????文件???????15888??2017-08-31?09:21??ChatClient\src\Chat\Client.java
?????文件???????22120??2017-08-05?10:32??ChatClient\src\Chat\QQIcon.png
?????文件????????5130??2017-08-31?09:21??ChatClient\src\Chat\Server.java
?????文件??????136663??2017-08-05?11:21??ChatClient\src\Chat\wchat.jpg
- 上一篇:轉換代碼vox轉wav的java代碼
- 下一篇:R樹的java版本實現
評論
共有 條評論