⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 serverframe.java

📁 ICQ聊天程序
💻 JAVA
字号:
// 程序:多人联机服务器
// 范例文件:ServerFrame.java
import java.io.*;
import java.awt.*;
import java.net.*;
import java.util.*;                             //为了建立Vector实体
import java.awt.event.*;

public class ServerFrame extends Frame implements ActionListener
{
   int      ScreenWidth,ScreenHeight; 
   Button   CloseServer,OpenServer,SentBtn;
   TextArea ServerStatus;
   TextField TF;
   Panel 	panel;	
   ServerThread sThread;
 
   public ServerFrame()                         //创建方法
   {
      super("ICQ客服器");                      //建立服务器窗口
      
      ServerStatus = new TextArea();            //建立TextArea
      CloseServer  = new Button("关闭服务器");  //建立Button
      OpenServer   = new Button("开启服务器");
      SentBtn	   = new Button("发送广播");
      ServerStatus.setEditable(false);          //TextArea为不可编辑
      CloseServer.addActionListener(this);      //注册按钮的事件处理方法
      
      TF    = new TextField(50); 
      TF.addKeyListener(new TFListener()); 	// 注册事件 
      panel = new Panel();						
	  panel.setLayout(new GridLayout(2,2));

      add(ServerStatus,BorderLayout.CENTER);    //加入TextArea
      add(panel,BorderLayout.SOUTH);      		//加入panel
      
      panel.add(TF);
      panel.add(SentBtn);
      panel.add(OpenServer);
      panel.add(CloseServer);
      //将窗口置于屏幕中央,宽度与高度皆为屏幕一半
      ScreenWidth  = getToolkit().getScreenSize().width;
      ScreenHeight = getToolkit().getScreenSize().height;
      setSize(ScreenWidth / 2,ScreenHeight / 2);
      setLocation((ScreenWidth - getWidth()) / 2,
                  (ScreenHeight - getHeight()) / 2);
      
	 //setResizable(false);                      //不可改变窗口大小
      setVisible(true);                         //显示窗口
     
      sThread      = new ServerThread(this);    //建立服务器主线程
      sThread.start();                          //启动线程
      
      addWindowListener(  						// 按下关闭钮时结束程序
            new WindowAdapter() {
                public void windowClosing(WindowEvent e) { 
                    System.exit(0);
                }
            }
        );
     
    SentBtn.addActionListener(
            new ActionListener() { 
                public void actionPerformed(ActionEvent e) {
                  	sThread.messages.addElement(  "聊天室管理员:"+"\n"+TF.getText() );
                  	TF.setText("");
                   
                }
            }
        );
        
   }
    

   public static void main(String srgs[])
   {
      new ServerFrame();                        //建立游戏服务器窗口
   }

   //=====实现ActionListener界面=====================================
   public void actionPerformed(ActionEvent e)   //当按钮按下时
   {
      dispose();
      System.exit(0);                           //关闭窗口
   }
  

private class TFListener implements KeyListener
    {
        public void keyPressed(KeyEvent e)
        {
            // 如果按下的是Enter键
            if(e.getKeyCode() == KeyEvent.VK_ENTER)
            {
                sThread.messages.addElement( "聊天室管理员:"+"\n"+TF.getText() );
                TF.setText("");
            }
        }

        public void keyTyped(KeyEvent e) {}

        public void keyReleased(KeyEvent e) {}
    }

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -