<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();
      }
        }
    }



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




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













    主站蜘蛛池模板: 人人公开免费超级碰碰碰视频| 亚洲国产精品久久久久婷婷软件| 亚洲资源最新版在线观看| 国产亚洲免费的视频看| 亚洲永久无码3D动漫一区| 一级女人18片毛片免费视频| 亚洲男人第一无码aⅴ网站| 野花视频在线官网免费1| 可以免费观看一级毛片黄a| 老司机午夜在线视频免费观| 免费在线观看视频a| 一级毛片a免费播放王色电影| 亚洲视频在线一区二区| 国产精品高清免费网站| 亚洲AV无码久久| 日韩免费无码视频一区二区三区| 亚洲色偷偷偷网站色偷一区| 亚洲免费闲人蜜桃| 中文字幕无码精品亚洲资源网久久 | 大陆一级毛片免费视频观看| 亚洲日本在线电影| 亚洲AⅤ永久无码精品AA| 色www永久免费| 亚洲综合色一区二区三区小说| 性生交片免费无码看人| 精品免费AV一区二区三区| 亚洲综合最新无码专区| 国产高清不卡免费视频| 亚洲资源最新版在线观看| 免费大香伊蕉在人线国产| a级毛片高清免费视频| 亚洲免费中文字幕| 国产高清免费在线| 成全高清在线观看免费| 久久精品国产亚洲AV忘忧草18 | 亚洲国产av一区二区三区| 在线免费观看伊人三级电影| 亚洲欧洲春色校园另类小说| 国产人成免费视频| 免费污视频在线观看| 亚洲精品久久久久无码AV片软件|