亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? elevatorshaft.java

?? JAVA 多線程不可多得的好例子
?? JAVA
字號:
// ElevatorShaft.java
// Represents elevator shaft, which contains elevator
package com.deitel.jhtp5.elevator.model;

// Java core packages
import java.util.*;

// Deitel packages
import com.deitel.jhtp5.elevator.event.*;

public class ElevatorShaft implements ElevatorMoveListener,
   LightListener, BellListener {

   // Elevator
   private Elevator elevator;

   // Buttons on Floors
   private Button firstFloorButton;
   private Button secondFloorButton;

   // Doors on Floors
   private Door firstFloorDoor;
   private Door secondFloorDoor;

   // Lights on Floors
   private Light firstFloorLight;
   private Light secondFloorLight;

   // listeners
   private DoorListener doorListener;
   private ButtonListener buttonListener;
   private LightListener lightListener;
   private BellListener bellListener;
   private Set elevatorMoveListeners;

   // constructor initializes aggregated components
   public ElevatorShaft( Floor firstFloor, Floor secondFloor )
   {
      // instantiate Set for ElevatorMoveListeners
      elevatorMoveListeners = new HashSet( 1 );

      // anonymous inner class listens for ButtonEvents
      ButtonListener floorButtonListener = 
         new ButtonListener() {

         // called when Floor Button has been pressed
         public void buttonPressed( ButtonEvent buttonEvent )
         {
            // request elevator move to location
            Location location = buttonEvent.getLocation();
            buttonListener.buttonPressed( buttonEvent );
            elevator.requestElevator( location );
         }

         // called when Floor Button has been reset
         public void buttonReset( ButtonEvent buttonEvent ) 
         {
            buttonListener.buttonReset( buttonEvent );
         }
      }; // end anonymous inner class

      // instantiate Floor Buttons
      firstFloorButton = new Button();
      secondFloorButton = new Button();

      // register anonymous ButtonListener with Floor Buttons
      firstFloorButton.setButtonListener( 
         floorButtonListener );
      secondFloorButton.setButtonListener( 
         floorButtonListener );

      // Floor Buttons listen for ElevatorMoveEvents
      addElevatorMoveListener( firstFloorButton );
      addElevatorMoveListener( secondFloorButton );

      // anonymous inner class listens for DoorEvents
      DoorListener floorDoorListener = new DoorListener() {

         // called when Floor Door has opened
         public void doorOpened( DoorEvent doorEvent )
         {
            // forward event to doorListener
            doorListener.doorOpened( doorEvent );
         }

         // called when Floor Door has closed
         public void doorClosed( DoorEvent doorEvent )
         {
            // forward event to doorListener
            doorListener.doorClosed( doorEvent );
         }
      }; // end anonymous inner class

      // instantiate Floor Doors
      firstFloorDoor = new Door();
      secondFloorDoor = new Door();

      // register anonymous DoorListener with Floor Doors
      firstFloorDoor.addDoorListener( floorDoorListener );
      secondFloorDoor.addDoorListener( floorDoorListener );

      // instantiate Lights, then listen for LightEvents
      firstFloorLight = new Light();
      addElevatorMoveListener( firstFloorLight );
      firstFloorLight.setLightListener( this );
      
      secondFloorLight = new Light();
      addElevatorMoveListener( secondFloorLight );
      secondFloorLight.setLightListener( this );

      // instantiate Elevator object
      elevator = new Elevator( firstFloor, secondFloor );

      // register for ElevatorMoveEvents from elevator
      elevator.addElevatorMoveListener( this );

      // listen for BellEvents from elevator
      elevator.setBellListener( this );

      // anonymous inner class listens for ButtonEvents from
      // elevator
      elevator.setButtonListener( 
         new ButtonListener() {

            // invoked when button has been pressed
            public void buttonPressed( ButtonEvent buttonEvent )
            {
               // send event to listener
               buttonListener.buttonPressed( buttonEvent );
            }

            // invoked when button has been reset
            public void buttonReset( ButtonEvent buttonEvent )
            {
               // send event to listener
               buttonListener.buttonReset( 
                  new ButtonEvent( this, elevator ) );
            }
         } // end anonymous inner class
      );

      // anonymous inner class listens for DoorEvents from
      // elevator
      elevator.setDoorListener( 
         new DoorListener() {

            // invoked when door has opened
            public void doorOpened( DoorEvent doorEvent )
            {
               // send event to listener
               doorListener.doorOpened( doorEvent );
            }

            // invoked when door has closed
            public void doorClosed( DoorEvent doorEvent )
            {
               // send event to listener
               doorListener.doorClosed( doorEvent );
            }
         } // end anonymous inner class
      );

      // start Elevator Thread
      elevator.start();

   } // end ElevatorShaft constructor

   // get Elevator
   public Elevator getElevator()
   {
      return elevator;
   }

   // get Door on first Floor
   public Door getFirstFloorDoor()
   {
      return firstFloorDoor;
   }

   // get Door on second Floor
   public Door getSecondFloorDoor()
   {
      return secondFloorDoor;
   }

   // get Button on first Floor
   public Button getFirstFloorButton()
   {
      return firstFloorButton;
   }

   // get Button on second Floor
   public Button getSecondFloorButton()
   {
      return secondFloorButton;
   }

   // get Light on first Floor
   public Light getFirstFloorLight()
   {
      return firstFloorLight;
   }

   // get Light on second Floor
   public Light getSecondFloorLight()
   {
      return secondFloorLight;
   }

   // invoked when Bell rings
   public void bellRang( BellEvent bellEvent )
   {
      bellListener.bellRang( bellEvent );
   }

   // invoked when Light turns on
   public void lightTurnedOn( LightEvent lightEvent )
   {
      lightListener.lightTurnedOn( lightEvent );
   }

   // invoked when Light turns off
   public void lightTurnedOff( LightEvent lightEvent )
   {
      lightListener.lightTurnedOff( lightEvent );
   }

   // invoked when Elevator departs
   public void elevatorDeparted( ElevatorMoveEvent moveEvent )
   {
      Iterator iterator = elevatorMoveListeners.iterator();

      // iterate Set of ElevatorMoveEvent listeners
      while ( iterator.hasNext() ) {

         // get respective ElevatorMoveListener from Set
         ElevatorMoveListener listener = 
            ( ElevatorMoveListener ) iterator.next();

         // send ElevatorMoveEvent to this listener
         listener.elevatorDeparted( moveEvent );
      }
   } // end method elevatorDeparted

   // invoked when Elevator arrives
   public void elevatorArrived( ElevatorMoveEvent moveEvent )
   {
      // obtain iterator from Set
      Iterator iterator = elevatorMoveListeners.iterator();

      // get next DoorListener
      while ( iterator.hasNext() ) {

         // get next ElevatorMoveListener from Set
         ElevatorMoveListener listener = 
            ( ElevatorMoveListener ) iterator.next();

         // send ElevatorMoveEvent to this listener
         listener.elevatorArrived( moveEvent );

      } // end while loop
   } // end method elevatorArrived

   // set listener to DoorEvents
   public void setDoorListener( DoorListener listener )
   {
      doorListener = listener;
   }

   // set listener to ButtonEvents
   public void setButtonListener( ButtonListener listener )
   {
      buttonListener = listener;
   }

   // add listener to ElevatorMoveEvents
   public void addElevatorMoveListener( 
      ElevatorMoveListener listener )
   {
      elevatorMoveListeners.add( listener );
   }

   // set listener to LightEvents
   public void setLightListener( LightListener listener )
   {
      lightListener = listener;
   }

   // set listener to BellEvents
   public void setBellListener( BellListener listener )
   {
      bellListener = listener;
   }
}


 

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩中文欧美在线| 欧美日韩和欧美的一区二区| 99r国产精品| 日韩视频免费观看高清在线视频| 亚洲人成亚洲人成在线观看图片| 激情欧美一区二区三区在线观看| 欧美日韩在线直播| 国产精品的网站| 国产精品一区免费视频| 欧美一区二区成人| 亚洲二区在线视频| 色女孩综合影院| 国产精品久久久久影院亚瑟| 国产综合久久久久影院| 日韩一区二区在线免费观看| 亚洲国产毛片aaaaa无费看| 99久久伊人精品| 国产清纯在线一区二区www| 九色综合狠狠综合久久| 欧美另类高清zo欧美| 亚洲国产aⅴ成人精品无吗| 色婷婷av一区二区三区软件| 国产精品免费看片| 不卡一卡二卡三乱码免费网站| 久久丝袜美腿综合| 国产精品自拍一区| 久久综合久久鬼色中文字| 裸体健美xxxx欧美裸体表演| 欧美一区二区三区在线观看视频 | 日本美女一区二区三区| 欧美在线视频你懂得| 亚洲一区二三区| 在线观看不卡一区| 天堂久久久久va久久久久| 欧美高清www午色夜在线视频| 亚洲福利电影网| 日韩一区二区三区四区| 美国三级日本三级久久99| 日韩视频在线观看一区二区| 蜜臀久久久久久久| 久久一留热品黄| 国产乱子轮精品视频| 国产欧美一区二区三区鸳鸯浴 | 色综合欧美在线视频区| 亚洲欧美韩国综合色| 色丁香久综合在线久综合在线观看| 国产精品成人免费在线| 日本国产一区二区| 奇米影视一区二区三区小说| 日韩欧美激情四射| 国产黄色精品视频| 亚洲精品伦理在线| 欧美一级片免费看| 国产91精品露脸国语对白| 国产精品电影一区二区| 欧美三级在线视频| 国内成+人亚洲+欧美+综合在线| 欧美激情一区二区三区蜜桃视频| www.欧美日韩| 欧美96一区二区免费视频| 久久久久久99久久久精品网站| jvid福利写真一区二区三区| 亚洲国产精品视频| 久久久久久影视| 91蜜桃婷婷狠狠久久综合9色| 日本美女一区二区| ●精品国产综合乱码久久久久 | 午夜精品福利在线| 久久一区二区视频| 欧美性三三影院| 国产一区啦啦啦在线观看| 亚洲三级在线免费| 欧美大肚乱孕交hd孕妇| 色婷婷精品久久二区二区蜜臂av| 麻豆精品视频在线观看视频| 国产精品人妖ts系列视频| 日韩一区二区三区观看| 不卡电影免费在线播放一区| 午夜av区久久| 亚洲色图制服丝袜| 久久综合久久综合久久| 欧美日韩国产高清一区二区 | 青娱乐精品视频在线| 国产精品人妖ts系列视频| 日韩一级片在线观看| 色综合天天综合网国产成人综合天| 麻豆一区二区在线| 亚洲一区免费观看| 国产精品电影一区二区三区| 久久嫩草精品久久久精品一| 欧美日韩中字一区| 91蜜桃视频在线| 盗摄精品av一区二区三区| 韩国女主播一区| 日韩主播视频在线| 亚洲成av人片在www色猫咪| 国产精品成人午夜| 国产精品久久午夜夜伦鲁鲁| 久久欧美一区二区| 日韩女同互慰一区二区| 欧美理论在线播放| 欧美日本一区二区在线观看| 日本精品一区二区三区高清| av一区二区三区在线| 国产成人av网站| 国产福利一区二区三区视频在线 | 一区二区高清在线| 综合激情网...| 国产精品久久久久久久久免费樱桃 | 一区二区三区波多野结衣在线观看| 国产日韩欧美激情| 国产日韩av一区二区| 久久久久亚洲蜜桃| 久久久噜噜噜久久人人看 | 韩国女主播一区| 久久99精品国产| 国产在线观看一区二区| 精品综合久久久久久8888| 理论电影国产精品| 国产精品一二三| 懂色一区二区三区免费观看 | 激情综合五月婷婷| 国产一区二三区| 国产精品一区二区三区网站| 成人黄动漫网站免费app| 99久久精品国产一区二区三区| 99久久久无码国产精品| 在线亚洲精品福利网址导航| 欧美日韩精品是欧美日韩精品| 91精品国产色综合久久不卡电影| 日韩一区二区电影网| 久久精品一区二区三区不卡牛牛| 国产精品免费视频一区| 亚洲综合在线电影| 美女看a上一区| 成人激情开心网| 欧美日韩成人激情| 久久久噜噜噜久噜久久综合| 亚洲三级电影网站| 五月综合激情网| 国产精品一区二区三区网站| 成人福利视频在线| 欧美另类高清zo欧美| 日本一区二区三区久久久久久久久不| 国产精品久久久久久久久图文区| 五月天精品一区二区三区| 韩国成人精品a∨在线观看| 97精品电影院| 日韩一区二区在线观看| 中文字幕一区二区三区视频| 日韩国产高清在线| 成人教育av在线| 欧美高清你懂得| 亚洲天堂久久久久久久| 免费看黄色91| 91国产成人在线| 日韩精品在线看片z| 亚洲精品videosex极品| 精品在线视频一区| 91豆麻精品91久久久久久| 欧美刺激脚交jootjob| 亚洲自拍偷拍综合| 国产激情精品久久久第一区二区 | 久久综合九色综合欧美98| 亚洲精选在线视频| 国产成人综合亚洲91猫咪| 欧美日韩精品一区二区三区四区 | 日韩va亚洲va欧美va久久| 成人av片在线观看| 精品欧美乱码久久久久久| 一区二区三区中文字幕在线观看| 国产成人小视频| 欧美一级黄色录像| 亚洲成人tv网| 91久久免费观看| 国产精品色婷婷久久58| 国产在线视频一区二区| 91精品国产色综合久久ai换脸| 悠悠色在线精品| 91污在线观看| 国产精品欧美极品| 国产精品一级片在线观看| 日韩女优视频免费观看| 日韩精品免费专区| 欧美情侣在线播放| 亚洲一区在线电影| 欧美在线视频不卡| 亚洲一区av在线| 欧洲一区在线观看| 亚洲国产三级在线| 欧美绝品在线观看成人午夜影视| 一区二区三区在线播| 99re热视频这里只精品| 椎名由奈av一区二区三区| 不卡av电影在线播放| 国产精品动漫网站| 91婷婷韩国欧美一区二区| 亚洲精品国产a| 欧美亚洲国产一区二区三区va | 国产精品久久777777|