Java小程序之服务器的UI实现
一、前言:
前面我们做的服务器都是没有界面的,只是利用简单的输入输出语句在控制台中打印语句;今天,我们要让服务器有界面,可视化操作;
二、UI功能需求:
三、
知识点分析
:
JTable使用:TableModel和JScrollPane、Vector
JTable:可以理解为表示数据的展示组件
TableModel:用于封装数据组件
Vector: 队列
代码框架
四、具体实现思路
1、先实现整个界面UI(功能暂时不着急)这里主要是JTable的使用,刚开始启动按钮和关闭按钮都不能操作
2、最上方功能按钮的实现,当界面初始化的时候,用一个线程开始不断检测输入框中是否有内容,有内容则启动按钮可操作;启动按钮启动后,创建服务器对象,等待客户端的连接,并将启动按钮再次设置为不可操作,而关闭按钮设置为可操作;
3、获取客户端输入的账户和密码,服务器校验成功后,将该账号的相关信息进行封装,将封装好的信息加到Table中显示
4、显示聊天功能,消息内容昨天实在控制台中打印的,这次,我们这要将从客户端接收到的消息放在服务器界面UI中显示即可;
五、源代码:
源代码结构图:
com.huaxin.server包:
MyServer类:(什么时候启动服务器?当点击启动按钮时,执行者下面的代码)
package com.huaxin.server;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.BindException;
import java.net.ServerSocket;
import java.net.Socket;
import java.net.SocketException;
import java.util.ArrayList;
import javax.swing.JOptionPane;
import com.huaxin.UI.InfoPanel;
import com.huaxin.UI.TablePanel;
public class MyServer {
public static ArrayList<ServerThread> serverList = new ArrayList<ServerThread>();
public int port;
public ServerSocket server;
private TablePanel tablePanel;
private InfoPanel infoPanel;
public My