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

📄 elevatorcontroller.java

📁 用java模拟的电梯程序,可以选择有几层楼,一共有几个人在哪几层等电梯,可以不断的增加等电梯的人数,并看电梯如何以设定的方式运行.
💻 JAVA
字号:
// ElevatorController.java// Controller for Elevator Simulationpackage com.Anance.elevator.controller;// Java core packagesimport java.awt.*;import java.awt.event.*;// Java extension packagesimport javax.swing.*;// Deitel packagesimport com.Anance.elevator.model.*;import com.Anance.elevator.event.*;import com.Anance.elevator.ElevatorConstants;public class ElevatorController extends JPanel   implements ElevatorConstants {   // controller contains two JButtons   private JButton firstControllerButton;   private JButton secondControllerButton;   // reference to model   private ElevatorModel elevatorModel;   public ElevatorController( ElevatorModel model )   {      elevatorModel = model;      setBackground( Color.white );      // add first button to controller      firstControllerButton = new JButton( "First Floor" );      add( firstControllerButton );      // add second button to controller      secondControllerButton = new JButton( "Second Floor" );      add( secondControllerButton );      // anonymous inner class registers for ActionEvents from      // first Controller JButton      firstControllerButton.addActionListener(          new ActionListener() {            // invoked when a JButton has been pressed            public void actionPerformed( ActionEvent event )            {               // add Person to first Floor               elevatorModel.addPerson(                   FIRST_FLOOR_NAME );               // disable user input               firstControllerButton.setEnabled( false );            }         } // end anonymous inner class      );      // anonymous inner class registers for ActionEvents from      // second Controller JButton      secondControllerButton.addActionListener(          new ActionListener() {            // invoked when a JButton has been pressed            public void actionPerformed( ActionEvent event )            {               // add Person to second Floor               elevatorModel.addPerson(                   SECOND_FLOOR_NAME );               // disable user input               secondControllerButton.setEnabled( false );            }         } // end anonymous inner class      );      // anonymous inner class enables user input on Floor if      // Person enters Elevator on that Floor      elevatorModel.addPersonMoveListener(          new PersonMoveListener() {            // invoked when Person has entered Elevator            public void personEntered(                PersonMoveEvent event )            {               // get Floor of departure                String location =                  event.getLocation().getLocationName();               // enable first JButton if first Floor departure               if ( location.equals( FIRST_FLOOR_NAME ) )                  firstControllerButton.setEnabled( true );               // enable second JButton if second Floor               else                  secondControllerButton.setEnabled( true );            } // end method personEntered            // other methods implementing PersonMoveListener            public void personCreated(                PersonMoveEvent event ) {}            public void personArrived(                PersonMoveEvent event ) {}            public void personExited(                PersonMoveEvent event ) {}            public void personDeparted(                PersonMoveEvent event ) {}            public void personPressedButton(                PersonMoveEvent event ) {}         } // end anonymous inner class      );   } // end ElevatorController constructor}

⌨️ 快捷键说明

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