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();
}
}
~~~
