资源简介
通过一个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版本实现
相关资源
- 基于UDP的P2P简易聊天室
- jsp+mysql的聊天室
- 基于websocket的聊天室源码
- JSP聊天室
- java网络课程设计聊天室
- Java聊天室
- Java聊天室程序,socket编程
- java版QQ聊天室源代码
- java实现基于websocket的聊天室
- java web在线聊天系统
- JavaWeb聊天室毕设项目.txt
- JavaWeb聊天室系统源码
- jquery+ajax 网页聊天室
- android聊天室客户端与服务端PC代码
- java web 聊天室 源码
- java平台基于TCP的聊天室设计
- java基于socket公共聊天室的实现.zip
- java游戏之聊天室
- java 聊天室课程设计
- java网络聊天室课程设计报告内
- Java程序设计实践4 --网络聊天室(含实
- Java聊天室(界面完整,群聊,私聊,
- 基于Websocket的简单聊天室
- 基于TCP、UDP的聊天室
- 呕心沥血的java复杂聊天室(包括自定
- C/S结构的java聊天室源代码
- 基于Java网络聊天室
- 简易java聊天室ui界面
- eclipse java聊天室
- java基于TCP的简单聊天室
评论
共有 条评论