随笔 - 20  文章 - 57  trackbacks - 0
<2010年10月>
262728293012
3456789
10111213141516
17181920212223
24252627282930
31123456

常用链接

留言簿(2)

随笔分类

随笔档案

文章分类

文章档案

51CTO

搜索

  •  

最新评论

阅读排行榜

评论排行榜


======================================================================================

这仅仅是一个很简单的医院挂号系统,虽然涉及到一些C/S架构思想,但并没有按照C/S架构去实现

还请大家见谅!!!

======================================================================================



**************************************************************************************

首先,新建一些辅助的类。
       比如:Patients类,用于存放挂号的病人;Init类,用于预先存储一些病人,这样就可以方
便的测试Doctor类;还有一个Server类,相当于一个服务器。

**************************************************************************************


Patients类


package Queue;
        /**

                定义一个Patients类,这个类从写了toString方法,可以方便的进行输出!

        */


public class Patients {
   
   
    private String name;
    private String id;
   
   
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getId() {
        return id;
    }
    public void setId(String id) {
        this.id = id;
    }
    //这里从写了toString方法
    public String toString(){
        return "病人的ID是: " + this.id + " \n\n病人的姓名是: " + this.name;
    }
}



Init类:

package Queue;

import java.util.HashMap;
import java.util.LinkedList;
import java.util.Map;
import java.util.Queue;


        /**
         *
         * @author toveping
         * 向一个队列中加入一些病人,对医生的客户端进行测试!!!
         *
         *      
         */
public class Init {
    public Map init(String no){
        Map<String, LinkedList<Patients>> queueSystem = new HashMap<String, LinkedList<Patients>>();
        LinkedList<Patients> patQueue = new LinkedList<Patients>();   
        for(int i =0;i<20;i++){
            Patients p =  new Patients();
            p.setId(i + "");
            p.setName("A" + i);
            patQueue.add(p);
        }
        queueSystem.put(no, patQueue);
        return queueSystem;
    }
}



Server类:


package Queue;

        /**

                定义一个Server类相当于服务器,挂号客户端增加一个病人的话,相应的存储在这里,可以供Doctor调用!!!

        */

import java.util.HashMap;
import java.util.LinkedList;
import java.util.Map;
import java.util.Queue;

public class Server {
   
   
    //这是病人的队列
    Queue<Patients> patQueue = new LinkedList<Patients>();
    //String 是医生的代号 ;Queue 是病人的队列
    Map<String, Queue> queueSystem = new HashMap<String, Queue>();
   
   
    public int serverAdd(String no){
        Map<String, LinkedList<Patients>> queueSystem = new HashMap<String, LinkedList<Patients>>();
        LinkedList<Patients> patQueue = new LinkedList<Patients>();   
        Patients p = new Patients();
        p.setId(patQueue.size()+"");
        patQueue.add(p);
        queueSystem.put(no, patQueue);
       

        return patQueue.size();
    }
}



**************************************************************************************



下面是挂号客户端:

**************************************************************************************

package Queue;

        /**

                这是一个挂号客户端,对会诊的病人进行挂号,以及方便挂号的病人容易的挂到自己想要的专家!!!

        */

import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;

public class Client {
    public static void main(String[] args){
        Display display = new Display();  
        Shell shell = new Shell(display);  
        shell.setLayout(new FillLayout());  
        shell.setText("专家挂号系统");     
        shell.open();  
        shell.setBounds(190, 100, 800, 600);
       
        final Text txt = new Text(shell,SWT.MULTI);
        txt.setBounds(200, 50, 400, 300);
       
        Button firstButton = new Button(shell,SWT.NULL);
        firstButton.setText("一号专家");
        firstButton.setBounds(100, 400, 120, 65);
       
        firstButton.addSelectionListener(new SelectionAdapter() {
                Server ser =  new Server();
                int i = ser.serverAdd("1");
            public void widgetSelected(SelectionEvent e) {
               
                txt.setText("挂号成功\n" + "您选的专家是一号专家\n" + "您前面有" + i + "\n请耐心等待!!");
                i++;
                }
        });
       

        Button secondButton = new Button(shell,SWT.NULL);
        secondButton.setText("二号专家");
        secondButton.setBounds(250, 400, 120, 65);
       
        secondButton.addSelectionListener(new SelectionAdapter() {
                Server ser =  new Server();
                int i = ser.serverAdd("2");
            public void widgetSelected(SelectionEvent e) {
               
                txt.setText("挂号成功\n" + "您选的专家是二号专家\n" + "您前面有" + i + "\n请耐心等待!!");
                i++;
               
                }
        });
       
       
        Button thirdButton = new Button(shell,SWT.NULL);
        thirdButton.setText("三号专家");
        thirdButton.setBounds(400, 400, 120, 65);
       
        thirdButton.addSelectionListener(new SelectionAdapter() {
                Server ser =  new Server();
                int i = ser.serverAdd("3");
            public void widgetSelected(SelectionEvent e) {
               
                txt.setText("挂号成功\n" + "您选的专家是三号专家\n" + "您前面有" + i + "\n请耐心等待!!");
                i++;
               
                }
        });
       
       
        Button fourthButton = new Button(shell,SWT.NULL);
        fourthButton.setText("四号专家");
        fourthButton.setBounds(550, 400, 120, 65);
       
       
        fourthButton.addSelectionListener(new SelectionAdapter() {
            Server ser =  new Server();
            int i = ser.serverAdd("4");
            public void widgetSelected(SelectionEvent e) {
               
               
                txt.setText("挂号成功\n" + "您选的专家是四号专家\n" + "您前面有" + i + "\n请耐心等待!!");
                i++;
               
                }
        });
       
       
       
      
        while (!shell.isDisposed()) {  
            if (!display.readAndDispatch())  
            display.sleep();  
       } 
       
        display.dispose();  
    }

}



运行结果如下图:





**************************************************************************************


最后是Doctor的客户端:

**************************************************************************************

package Queue;

        /**

                这里定义了Doctor使用的客户端,用来显示会诊的一些基本信息!

        */


import java.util.LinkedList;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;

public class Doctor {
    public static void main(String[] args){
        Display display = new Display();  
        Shell shell = new Shell(display);  
        shell.setLayout(new FillLayout());  
        shell.setText("医生会诊系统");     
        shell.open();  
        shell.setMaximized(true);
       
        final Text firsttxt = new Text(shell,SWT.MULTI);
        firsttxt.setBounds(100, 50, 200, 300);
       
        Button firstButton = new Button(shell,SWT.NULL);
        firstButton.setText("下一个(一号专家)");
        firstButton.setBounds(150, 400, 120, 65);
       
        firstButton.addSelectionListener(new SelectionAdapter() {
                Init aInit = new Init();
                LinkedList lin = (LinkedList) aInit.init("1").get("1");
            public void widgetSelected(SelectionEvent e) {
               
                firsttxt.setText("\n您正在诊断的病人信息:\n\n" + lin.remove());
                }
        });
       
        final Text secondtxt = new Text(shell,SWT.MULTI);
        secondtxt.setBounds(400, 50, 200, 300);
       
        Button secondButton = new Button(shell,SWT.NULL);
        secondButton.setText("下一个(二号专家)");
        secondButton.setBounds(450, 400, 120, 65);
       
        secondButton.addSelectionListener(new SelectionAdapter() {
                Init aInit = new Init();
                LinkedList lin = (LinkedList) aInit.init("2").get("2");
            public void widgetSelected(SelectionEvent e) {
                secondtxt.setText("\n您正在诊断的病人信息:\n\n" + lin.remove());
                }
        });
       
        final Text thirdtxt = new Text(shell,SWT.MULTI);
        thirdtxt.setBounds(750, 50, 200, 300);
       
        Button thirdButton = new Button(shell,SWT.NULL);
        thirdButton.setText("下一个(三号专家)");
        thirdButton.setBounds(800, 400, 120, 65);
       
        thirdButton.addSelectionListener(new SelectionAdapter() {
            Init aInit = new Init();
            LinkedList lin = (LinkedList) aInit.init("3").get("3");
            public void widgetSelected(SelectionEvent e) {
                thirdtxt.setText("\n您正在诊断的病人信息:\n\n" + lin.remove());
                }
        });
       
        final Text fourthtxt = new Text(shell,SWT.MULTI);
        fourthtxt.setBounds(1050, 50, 200, 300);
       
        Button fourthButton = new Button(shell,SWT.NULL);
        fourthButton.setText("下一个(四号专家)");
        fourthButton.setBounds(1100, 400, 120, 65);
       
       
        fourthButton.addSelectionListener(new SelectionAdapter() {
            Init aInit = new Init();
            LinkedList lin = (LinkedList) aInit.init("4").get("4");
            public void widgetSelected(SelectionEvent e) {
                fourthtxt.setText("\n您正在诊断的病人信息:\n\n" + lin.remove());
                }
        });
       
       
       
      
        while (!shell.isDisposed()) {  
            if (!display.readAndDispatch())  
            display.sleep();  
       } 
       
        display.dispose();  
    }
}


运行的结果如下图:






**************************************************************************************


让大家见笑了!

posted on 2010-10-31 21:10 tovep 阅读(379) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航:
 
主页