<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    復雜的事情要簡單做;   簡單的事情要認真做;   認真的事情要重復做;   重復的事情要創造性地做。

    信心 恒心 決心 創意 樂意

    も軍魂ミ 心系java

    Java的魅力:跨平臺、動態的Web、Internet計算 Java在Web、移動設備以及云計算方面前景廣闊 我的java編程不是夢!!! 俗話說的好:“授人以魚不如授人以漁”.
    posts - 10, comments - 12, trackbacks - 0, articles - 5
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理
              1)、先封裝一個病人(Patient)的類。里面設置兩個屬性:一個是排隊的人數(num),一個是前面需要等待的人數(frontnum);
                                

    package com.dr.patient;

    public class Patient {
          private int num;    
       private int frontNum;
      
     public int getNum() {
      return num;
     }
     public void setNum(int num) {
      this.num = num;
     }
     public int getFrontNum() {
      return frontNum;
     }
     public void setFrontNum(int frontNum) {
      this.frontNum = frontNum;
     }

                                                                                                                        }

              2)、然后建立一個病人服務的類(PatientServer),構建一個病人等待排隊數字的循環邏輯;
    package com.dr.patient;

    import java.util.LinkedList;
    import java.util.Queue;

    public class PatientServer {
         Queue<Patient> patientList = new LinkedList<Patient>();                //新建一個容器,病人的隊列
       
     public Queue<Patient> init(){                                                            //構建一個方法,把掛號的病人加入
      
      for(int i=1;i<=24;i++){                                                               //設定隊列中已有24個人,掛號加入的從第25個開始
       Patient pat = new Patient();
          pat.setNum(i);
          pat.setFrontNum(i-1);
          patientList.offer(pat);                                                     //將指定的病人元素插入此隊列
      }
      return patientList;
    }
    }


          3)、病人掛號點擊頁面,主要用Display、Shell方法新建窗口!

    final Display display = Display.getDefault();
      final Shell shell = new Shell();
      shell.setBounds(300, 100, 800, 700);                                              
      shell.setText("病人掛號排隊端");




    // ------------------新插入的界面核心代碼------------------------
      PatientServer qs = new PatientServer();//實例化類
      final Queue<Patient> patientList = qs.init();//初始化隊列服務器
      
      final Text txt = new Text(shell,SWT.MULTI);                                          //建立窗口里文本的的大小
         txt.setBounds(150, 50, 500, 450);

         final Button button = new Button(shell, SWT.Activate);                         //設置一個button按鈕
                                                                                                      

     button.addSelectionListener(new SelectionAdapter() {                       //鼠標單擊按鈕事件
              public void widgetSelected(SelectionEvent e) {
                    Patient p = new Patient();
                    p.setNum(patientList.size()+1);
                     p.setFrontNum(patientList.size());
                     patientList.offer(p);
                  if(patientList.size() <= 48){
                              txt.setText( "您好!您現在排在"+p.getNum()+"位置上,\n\n您前面有"+p.getFrontNum()+"個病人需要看病\n\n請您耐心等候吧!\n\n\n\n若您為急診,則直接去急診室看病就可以了!");
        }else{
         txt.setText("您現在排在"+p.getNum()+"位置上,\n\n\n您前面已經超過36個病人等待了,請您盡快選擇換地吧!給你帶來的不便,望您見諒!\n");
        }
       }
      });
      
      button.setBounds(300, 530, 200, 75);                                                       / 設置按鈕位置
      button.setFont(new Font(display,"華文楷體",12,SWT.BOLD));
      button.setText("生病掛號");                                                                   // 設置按鈕上的文字
        

      shell.layout();                                                  
      shell.open();                                                                            //打開窗口
      while (!shell.isDisposed()) {                                                    //支撐窗口在不點擊任何按鈕時一直保留在桌面上
       if (!display.readAndDispatch())
        display.sleep();
      }
     }
    }




    4)、再封裝一個急救病人的類(PatientHuarry)!方法和封裝病人的類基本一樣。

    package com.dr.patient;

    public class PatientHuarry {
      private int num;                                     //兩個急求病人的屬性
       private int frontNum;
     public int getNum() {
      return num;
     }
     public void setNum(int num) {
      this.num = num;
     }
     public int getFrontNum() {
      return frontNum;
     }
     public void setFrontNum(int frontNum) {
      this.frontNum = frontNum;
     }
    }



            5)、再從新構建一個新的隊列(patienthuarryList),讓其承載急救病人,而進入隊列的方法思維也是和Patient的類一樣

    public class PatientServerH {
     Queue<PatientHuarry> patienthuarryList = new LinkedList<PatientHuarry>();

     public Queue<PatientHuarry> init(){
      
      for(int i=1;i<=16;i++){                                    //這對列能放的人數
       PatientHuarry ph = new PatientHuarry();
          ph.setNum(i);
          ph.setFrontNum(i-1);
          patienthuarryList.offer(ph);
      }
      return patienthuarryList;
    }
    }


        6)、最后構建醫生專家按病人掛號排序就診的頁面!而為急診的病人,則不需掛號,直接去急診室就診。
              醫生專家的UI界面:




    public class DoctorUI {
          public static void main(String[] args) {
      
            final Display display = Display.getDefault();
            final Shell shell = new Shell();
            shell.setBounds(200, 150, 1000, 600);
            shell.setText("醫生專家服務端");
      
      // ------------------新插入的界面核心代碼------------------------
      PatientServer qs = new PatientServer();                          //實例化類
         final Queue<Patient> patientList = qs.init();                  //初始化隊列服務器
         
         PatientServerH qsh = new PatientServerH();
         final Queue<PatientHuarry> patienthuarryList = qsh.init();
        
         final Text txt1 = new Text(shell,SWT.MULTI);                        //創建四個文本窗口
         txt1.setBounds(80, 50, 170, 300);
      
         final Text txt2 = new Text(shell,SWT.MULTI);
         txt2.setBounds(300, 50, 170, 300);
      
         final Text txt3 = new Text(shell,SWT.MULTI);
         txt3.setBounds(520, 50, 170, 300);
      
         final Text txt4 = new Text(shell,SWT.MULTI);
         txt4.setBounds(740, 50, 170, 300);

         // 事件代碼里要訪問button
         final Button button1 = new Button(shell, SWT.Activate);                         // button1的事件方法
         button1.addSelectionListener(new SelectionAdapter() {                       // 加一個選擇監聽器
         public void widgetSelected(SelectionEvent e) {
        
          Patient p= patientList.poll();                      //彈出一個隊列中的病人
        
              if(p!=null){
                    txt1.setText(p.getNum()+"號病人請到內科專家處看病\n\n我們部門在一層左拐第一間,\n很樂意為您看病!!\n\n\n\n\n\n\n\n您好!請按時吃藥!");
              }
            else{
                   txt1.setText("現在沒有等候的病人了,\n可以喝杯水了哈");
            }       
         
      
       }
         });
          button1.setBounds(120, 400, 90, 40);                 // 設置按鈕位置
          button1.setText("內科專家");                            // 設置按鈕上的文字
      

       final Button button2 = new Button(shell, SWT.Activate);                        // button2的事件方法

       button2.addSelectionListener(new SelectionAdapter() {
           public void widgetSelected(SelectionEvent e) {
            Patient p= patientList.poll();
            if(p!=null){
               txt2.setText(p.getNum()+"號病人請到外科專家處看病\n\n我們部門在二層右拐第三間,\n很樂意為您看病!!\n\n\n\n\n\n\n\n您好!請慢走!");
             }
             else{
              txt2.setText("現在沒有等候的病人了,\n可以喝杯水了哈");
             }       
        }
          });
          button2.setBounds(340, 400, 90, 40);
          button2.setText("外科專家");
        
        final Button button3 = new Button(shell, SWT.Activate);                         // button3的事件方法

        button3.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
          
         Patient p= patientList.poll();
         if(p!=null){
              txt3.setText(p.getNum()+"號病人請到放射科科專家處看病\n\n我們部門在一層右拐最里一間,\n很樂意為您看病!!\n\n\n\n\n\n\n\n您好!請注意調理!");
             }
             else{
              txt3.setText("現在沒有等候的病人了,\n可以喝杯水了哈!");
             }      
          
          
        
         }
           });
           button3.setBounds(560, 400, 90, 40); 
           button3.setText("放射科專家");

         
         final Button button4 = new Button(shell, SWT.Activate);                       // button4的事件方法

         button4.addSelectionListener(new SelectionAdapter() {
         public void widgetSelected(SelectionEvent e) {
           
          PatientHuarry ph= patienthuarryList.poll();
          if(ph!=null){
               txt4.setText(ph.getNum()+"號急診病人請到急診專家處看病\n我們部門在一層左拐第三間,\n很樂意為您看病!!\n\n\n\n由于的您病情比較著急,\n我們會全力為您治療,\n請您放心!!\n\n\n\n\n\n\n\n您好!請保重身體!");
              }
              else{
               txt4.setText("現在沒有急診的病人了,\n我們可以休息會兒了!\n嘻嘻!");
              }      
           
         
          }
            });
            button4.setBounds(780, 400, 90,40);
            button4.setText("急診專家");
        
        
      shell.layout();
      shell.open();
      while (!shell.isDisposed()) {                                   //同樣為支撐窗口在不點擊任何按鈕時一直保留在桌面上
       if (!display.readAndDispatch())  
        display.sleep();
      }
        }
    }



    總結:這小程序主要是根據醫院服務需求,做了簡單的病人看病需要掛號,而醫生作診同樣需要呼叫病人,這就無形中減少了病人和醫生之間話費時間的聯系!
                 在編輯這個程序的過程中,主要還是用到的一些窗口的控件及其方法。




         最后也希望在看后我程序的人,給與我點評!我想從大家的想法中學到更多的東西,謝謝!  













    主站蜘蛛池模板: 亚洲av永久无码精品国产精品| 亚洲视频在线免费| 亚洲∧v久久久无码精品| 国产成人精品免费直播| 久草免费在线观看视频| 在线观看肉片AV网站免费| 美女视频黄视大全视频免费的| 精品久久久久久亚洲精品| 亚洲无线电影官网| 国精无码欧精品亚洲一区| 亚洲 综合 国产 欧洲 丝袜| a级毛片无码免费真人| 永久在线免费观看| 亚洲a一级免费视频| 中文字幕在线视频免费| 一级毛片人与动免费观看| 爱爱帝国亚洲一区二区三区| 一本色道久久88—综合亚洲精品| 亚洲毛片基地日韩毛片基地| 337p日本欧洲亚洲大胆精品555588| 亚洲一区无码中文字幕| 国产国拍亚洲精品福利 | 免费一级毛片在线播放不收费| 久久WWW免费人成人片| 国产情侣激情在线视频免费看| 中文字幕视频免费| 精品一区二区三区免费毛片爱| 无码精品人妻一区二区三区免费看 | 人妻在线日韩免费视频| 国产在线观看xxxx免费| 99精品免费视品| 中文字幕免费视频精品一| 三级毛片在线免费观看| 色www永久免费网站| 久热免费在线视频| 久久精品一本到99热免费| 四虎1515hh永久久免费| 黄色片在线免费观看 | 亚洲精品无播放器在线播放| 亚洲AV成人一区二区三区观看| 亚洲人成电影网站色|