学院 |
计算机科学与教育软件学院 |
年级、专业、班 |
网络16* |
姓名 |
卟咚君 |
学号 |
1606100*** |
|
实验课程名称 |
Java语言实验 |
成绩 |
|
|||||
实验项目名称 |
综合应用实验 |
指导老师 |
** |
一.实验目的
熟悉 Java 综合应用程序的开发。
二.实验任务
编写一个 Java 应用程序,实现多人聊天室(需要用到多线程)。
三.实验内容
编写一个 Java 应用程序,实现多人聊天室(需要用到多线程)
client.java
package Socket;
import java.awt.event.ActionListener;
import java.awt.image.ImageObserver;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
import java.util.Scanner;
import javax.swing.*;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
public class client extends JFrame implements ActionListener, Runnable { // 声明client类使用Ruannable接口
private static final long serialVersionUID = -8086759001371347347L; //串行版本标识符(不知道为什么要加的,不加class名会有警告)
static Socket socket = null; // 定义一个Socket类作为客户端
// Scanner input = new Scanner(INput); // 创建一个scanner对象,用作数据输入
JTextField field; //多人聊天室文本款
Scanner input = new Scanner(System.in); // 创建一个scanner对象,用作数据输入
static String name = null; // 定义登录客户端的用户名字
static String number=null; //定义是哪一个客户端
private static JTextArea textArea; //定义要发送的信息框
//String lineSeparator;
JButton setButton; //定义一个发送按钮
static client logint; //定义一个登录窗口
public client() { //客户端构造函数,初始化客户端多人聊天界面
super("多人聊天室-欢迎您,"+name); //指向JFrame类,定义窗口名字
textArea = new JTextArea(10, 35); //文本框显示10行30个字符的内容
textArea.setEditable(false); //设定这个文本域不可修改
JScrollPane jsp = new JScrollPane(textArea); //为文本域加上滚动条
jsp.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS); //确定垂直滚动条何时显示在滚动窗格上
Container con = this.getContentPane(); // 生成一个容器
con.setLayout(new FlowLayout()); //流式布局
JLabel lbBg1 = new JLabel(" 用