• 大小: 356KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-09
  • 语言: Java
  • 标签: 聊天室  

资源简介

通过一个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

评论

共有 条评论