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

📄 hall.java

📁 本工程模拟网上社区,其中包括银行,软件销售公司,软件投资公司,茶餐馆,和多个服务器.
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
package client;

import bankserver.BankServer;
import bankserver.bankManager;
import bankClient.BankClient;
import investcompanyclient.*;
import softwarecompanyclient.*;
import softwarecompanyserver.*;
import softwarecompanyserver.Server;
import softwarecompanyclient.MainMenu;
import investcompanyserver.*;
import investcompanyclient.Client;
import investcompanyclient.NewJFrame;
import teabar.*;

import java.io.*;
import java.net.*;
import javax.swing.*;
import java.util.StringTokenizer;
import java.sql.*;
import java.util.Date;   
import java.util.GregorianCalendar;
public class Hall extends javax.swing.JFrame implements Runnable{
    private String account;
    private BufferedReader in;
    private PrintWriter out;    
    private Socket socket;
    private boolean shutdown;
    private String command;
    
    private Date date;
    private GregorianCalendar calendar;
    private String strTime,strData;      
    public Hall(String account_,Socket socket_,BufferedReader in_,PrintWriter out_)
    {
         initComponents(); 
         this.setLocation(250,80);
         account=account_;
         jLabel7.setText(account);
         socket=socket_;
         in=in_;
         out=out_;
         jTextArea1.append("欢迎您来到朝阳社区\n  朝阳社区成立于2007年8月20日,经过了长达20天的建设与完善\n" +
                 ",已经初具规模。社区中有银行,茶餐厅,软件公司,投资公司。"+"\n这是一个正在蓬勃发展的社区。" +
                 "相信在不久的将来,会成为中国最\n著名的社区之一。");
         date=new Date();
         calendar=new GregorianCalendar();
         calendar.setTime(date);
         strTime=calendar.get(calendar.HOUR)+":"+ calendar.get(calendar.MINUTE)+":"+ calendar.get(calendar.SECOND);
         strData=(calendar.get(calendar.MONTH)+1)+" /"+calendar.get(calendar.DATE)+" /"+calendar.get(calendar.YEAR);
         jLabel9.setText(strData);
         jLabel10.setText(strTime);
    }
////////////////////////////////////////////////////////////////////////////////////////
//客户端处理主程序
    public void run()
    { 
        try
        {
            while(!shutdown)
            {      
                command=in.readLine();          
                StringTokenizer st = new StringTokenizer(command,"/");         //命令解析
                String cmd=st.nextToken();
                if(cmd.equals("exit"))            //处理用户退出
                {  
                    Exit();
                }
                if(cmd.equals("chat"))           //处理留言
                {
                    Chat(command);
                }
                if(cmd.equals("update"))         //处理刷新
                {
                    Update(command);
                }
                if(cmd.equals("soft"))         //处理软件公司
                {
                    EnterSoft(command);
                }
                if(cmd.equals("invest"))      //处理投资公司
                {
                    EnterInvest(command);
                }
                if(cmd.equals("bank"))        //处理银行
                { 
                    EnterBank(command);
                }
            }
        }
        catch(Exception e)
        {
            System.out.println("ServerProcess "+e.toString());
        }
        this.dispose();
    }
//////////////////////////////////////////////////////////////////////////////////////
    public void Chat(String command_)
    { 
        list_chat.removeAll();
        StringTokenizer st = new StringTokenizer(command_,"/");         
        st.nextToken();
        while(st.hasMoreTokens())
        {
             list_chat.add(st.nextToken());
        } 
    } 
    public void Exit()
    {
        JOptionPane.showMessageDialog(this,"退出成功,欢迎您再次光临社区大厅");
        try{
            in.close();
            out.close();
            socket.close();                    
        }
        catch(Exception e)
        {
            System.out.println("Hall Exit"+e.toString());
        }  
        shutdown=true;        
    }
    public void Update(String command_)
    {  
        list_client.removeAll();
        StringTokenizer st = new StringTokenizer(command_,"/");         
        st.nextToken(); 
        while(st.hasMoreTokens())
        {
             list_client.add(st.nextToken());
        }         
    }
    public void EnterSoft(String command_)
    {
            StringTokenizer st = new StringTokenizer(command,"/");         //命令解析
            st.nextToken();  
            String cs=st.nextToken();
            if(cs.equals("client"))
            {
                if(st.nextToken().equals("success"))
                {
                    String ip=st.nextToken();
                    new MainMenu(this,ip).setVisible(true);         
                    this.setVisible(false);          
                }
                else
                {
                    JOptionPane.showMessageDialog(this,"软件公司未在线,登陆失败,请稍候再尝试登陆");
                }
            }
            else 
            {
                String temp=st.nextToken();
                if(temp.equals("success"))
                {
                    new Server();
                    this.setVisible(false);                
                } 
                if(temp.equals("already"))
                {
                    JOptionPane.showMessageDialog(this,"软件公司服务器已经开启"); 
                    this.setVisible(true);
                }
            }
    }
    public void EnterInvest(String command_)
    {
            StringTokenizer st = new StringTokenizer(command,"/");         //命令解析
            st.nextToken();  
            String cs=st.nextToken();
            if(cs.equals("client"))
            {
                if(st.nextToken().equals("success"))
                {
                    String ip=st.nextToken();
                    new Client(ip,this);
                    this.setVisible(false);      
                }
                else
                {
                    JOptionPane.showMessageDialog(this,"投资公司未在线,登陆失败,请稍候再尝试登陆");
                }
            }
            else
            {
                String temp=st.nextToken();
                if(temp.equals("success"))
                {
                    new InvestServer().setVisible(true);
                    this.setVisible(false);
                }
                if(temp.equals("already"))
                {
                    JOptionPane.showMessageDialog(this,"投资公司服务器已经开启"); 
                    this.setVisible(true);                    
                }
            }        
    }
    public void EnterBank(String command_)
    {
            StringTokenizer st = new StringTokenizer(command,"/");         //命令解析
            st.nextToken();  
            String cs=st.nextToken();
            if(cs.equals("client"))
            {
                if(st.nextToken().equals("success"))
                {
                    String ip=st.nextToken();
                    new BankClient(this,ip).setVisible(true); 
                    this.setVisible(false);                      
                }
                else
                {
                    JOptionPane.showMessageDialog(this,"银行未在线,登陆失败,请稍候再尝试登陆");
                }
            }
            else
            {  
                String temp=st.nextToken();
                if(temp.equals("success"))
                {
                    BankServer bank=new BankServer();
                    new bankManager(bank,this,out).setVisible(true);
                    try{
                        bank.operate();
                    }
                    catch(IOException e){
                        e.printStackTrace();
                    }    
                }
                if(temp.equals("already"))
                {
                    JOptionPane.showMessageDialog(this,"银行服务器已经开启"); 
                    this.setVisible(true);                      
                }
            }        
    }    
    
    // <editor-fold defaultstate="collapsed" desc=" 生成的代码 ">//GEN-BEGIN:initComponents
    private void initComponents() {
        jButton_Update = new javax.swing.JButton();
        jPanel1 = new javax.swing.JPanel();
        jButton_SoftCompanyServer = new javax.swing.JButton();
        jButton_InvestCompanyServer = new javax.swing.JButton();
        jButton_BankServer = new javax.swing.JButton();
        jLabel8 = new javax.swing.JLabel();
        jPanel2 = new javax.swing.JPanel();
        jButton_RestaurantClient = new javax.swing.JButton();
        jButton_SoftCompanyClient = new javax.swing.JButton();
        jButton_InvestCompanyClient = new javax.swing.JButton();
        jButton_BankClient = new javax.swing.JButton();
        jLabel2 = new javax.swing.JLabel();
        jButton_Exit = new javax.swing.JButton();
        jPanel3 = new javax.swing.JPanel();
        jScrollPane2 = new javax.swing.JScrollPane();
        jTextArea1 = new javax.swing.JTextArea();
        jLabel3 = new javax.swing.JLabel();
        jLabel6 = new javax.swing.JLabel();
        list_chat = new java.awt.List();
        jLabel5 = new javax.swing.JLabel();
        jTextField2 = new javax.swing.JTextField();
        jButton_send = new javax.swing.JButton();
        jPanel4 = new javax.swing.JPanel();
        jLabel7 = new javax.swing.JLabel();
        jLabel1 = new javax.swing.JLabel();
        jPanel5 = new javax.swing.JPanel();
        list_client = new java.awt.List();
        jLabel4 = new javax.swing.JLabel();

⌨️ 快捷键说明

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