Server.java
~~~
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.net.ServerSocket;
import java.util.Vector;
public class Server extends JFrame implements ActionListener {
JLabel jlPort=new JLabel("端 口 号");//创建提示输入端口号标签
JTextField jtfPort=new JTextField("9999");//用于输入端口号的文本框//z并给以默认值9999
JButton jbStart=new JButton("启动");//创建"启动"按钮
JButton jbStop=new JButton("关闭");//创建"关闭"按钮
JPanel jps=new JPanel();//创建一个JPanel对象//z把上面控件放入其中
JList jlUserOnline=new JList();//创建用于显示当前用户的JList//z左边
JScrollPane jspx=new JScrollPane(jlUserOnline);//将显示当前用户的JList放在JScrollPane中
JSplitPane jspz=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,jspx,jps);//创建JSplitPane对象
ServerSocket ss;//声明ServerSocket引用
//ServerThread st;//声明ServerThread引用
Vector onlineList=new Vector();//创建存放当前在线用户的Vector对象
public Server()
{
this.initialComponent();//初始化控件
this.addListener();//为相应的控件注册事件监听器
this.initialFrame();//初始化窗体
}
public void initialComponent()
{
jps.setLayout(null);//设为空布局
jlPort.setBounds(20,20,50,20);
jps.add(jlPort);//添加用于提示输入端口号的标签
this.jtfPort.setBounds(85,20,60,20);
jps.add(this.jtfPort);//添加用于输入端口号的文本框
this.jbStart.setBounds(18,50,60,20);
jps.add(this.jbStart);//添加"开始"按钮
this.jbStop.setBounds(85,50,60,20);
jps.add(this.jbStop);//添加"关闭"按钮
this.jbStop.setEnabled(false);//将"关闭"按钮设为不可用
}
public void addListener()
{
this.jbStart.addActionListener(this);//为"开始"按钮注册事件监听器
this.jbStop.addActionListener(this);//为"关闭"按钮注册事件监听器
}
public void initialFrame()
{
this.setTitle("象棋--服务器端");//设置窗体标题
Image image=new ImageIcon("ico.gif").getImage();
this.setIconImage(image);
this.add(jspz);//将JSplitPane添加到窗体中
jspz.setDividerLocation(250);
jspz.setDividerSize(4);//设置分割线的位置和宽度
this.setBounds(20,20,420,320);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);//设置可见性
}
@Override
public void actionPerformed(ActionEvent e) {
if(e.getSource()==this.jbStart)
{//当单击"启动"按钮时
System.out.println("服务器启动成功");
this.jbStop.setEnabled(true);
this.jbStart.setEnabled(false);
}
else if(e.getSource()==this.jbStop)
{//单击"关闭"按钮后
System.out.println("服务器正常关闭");
this.jbStop.setEnabled(false);
this.jbStart.setEnabled(true);
}
}
public void jbStart_event() {
//单击"启动"按钮的业务处理代码
}
public void jbStop_event() {
//单击"关闭"按钮的业务处理代码
}
public void refreshList() {
//更新在线用户列表的业务处理代码
}
public static void main(String args[])
{
new Server();
}
}
~~~
![](https://box.kancloud.cn/e9480f7e97485b8b24be38da6d8a9d55_963x569.png)