///////////////////////////////////////////////////////// import java.awt.*; import java.io.*; import java.util.*; import java.net.*; public class Server extends Frame { MenuBar ControlBar; Menu Connection, Task; MenuItem openServer, closeServer, actionClose; public Server() { super("Checker Server"); setLayout(null); setVisible(false); Connection = new Menu("Connection"); closeServer = new MenuItem( "Close server"); openServer = new MenuItem( "Open server"); Connection.add(openServer); Connection.add(closeServer); actionClose = new MenuItem( "Close users" ); Task = new Menu("Task"); Task.add(actionClose); ControlBar = new MenuBar(); ControlBar.add( Connection); ControlBar.add( Task); setMenuBar(ControlBar); closeServer.setEnabled(false); setSize(insets().left+insets().right+430, insets().top+insets().bottom+300); setBackground(new Color(-8355776)); console = new java.awt.TextArea("",0,0,TextArea.SCROLLBARS_VERTICAL_ONLY); console.setEditable(false); console.setBounds(insets().left + 12,insets().top + 56,276,216); console.setForeground(new Color(255)); console.setBackground(new Color(16777215)); add(console); userList = new java.awt.TextArea(); userList.setEditable(false); userList.setBounds(insets().left + 300,insets().top + 58,108,120); userList.setForeground(new Color(255)); userList.setBackground(new Color(16777215)); add(userList); startbtn = new java.awt.Button(); startbtn.setActionCommand("button"); startbtn.setLabel("Start Server"); startbtn.setBounds(insets().left + 300,insets().top + 188,108,40); startbtn.setBackground(new Color(12632256)); add(startbtn); stopbtn = new java.awt.Button(); stopbtn.setActionCommand("button"); stopbtn.setLabel("Stop Server"); stopbtn.setBounds(insets().left + 300,insets().top + 236,108,40); stopbtn.setBackground(new Color(12632256)); stopbtn.enable(false); add(stopbtn); SymWindow aSymWindow = new SymWindow(); this.addWindowListener(aSymWindow); } TextArea console; TextArea userList; Button startbtn; Button stopbtn; static Vector v= new Vector(); CheckerServer c; class SymWindow extends java.awt.event.WindowAdapter { public void windowClosing(java.awt.event.WindowEvent event) { Object object = event.getSource(); if (object == Server.this) Server_WindowClosing(event); } } void Server_WindowClosing(java.awt.event.WindowEvent event) { c.stopServer(); hide(); // hide the Frame dispose(); System.exit(0); } /////////////////////////////////////////////////////////////////////////// class CheckerServer extends Thread { Connection c; Socket sock; ServerSocket listen; CheckerServer() { start(); } public void removeUsers() { for( int i=0; i