OperatorPanel.java
上传用户:ljt780218
上传日期:2022-07-30
资源大小:110k
文件大小:2k
源码类别:

金融证券系统

开发平台:

Java

  1. // <html><head><title>ATM Simulation Implementation - the Operator Panel</title></head><body><h2>ATM Simulation Implementation - the Operator Panel</h2><pre>
  2. /*
  3.  * Example ATM simulation - file OperatorPanel.java
  4.  *
  5.  * This file implements the class that manages the ATM's operator panel
  6.  *
  7.  * Copyright (c) 1997 - Russell C. Bjork
  8.  *
  9.  */
  10. package atm.atmparts;
  11. import java.awt.*;
  12. import atm.util.Money;
  13. //</pre><hr><h3>Class OperatorPanel</h3><pre>
  14. public class OperatorPanel extends Panel
  15.   { 
  16.     //</pre><hr><pre>
  17.     public OperatorPanel()
  18.       { setLayout(new BorderLayout());
  19.         setBackground(new Color(128,128,255));
  20.         add("West", new Label("Operator Panel"));
  21.         _message = new Label("Click ON button to turn ATM on");
  22.         add("Center", _message);
  23.         CheckboxGroup group = new CheckboxGroup();
  24.         _offButton = new Checkbox("OFF", group, true);
  25.         _onButton = new Checkbox("ON", group, false);
  26.         Panel buttonPanel = new Panel();
  27.         buttonPanel.add(_offButton);
  28.         buttonPanel.add(_onButton);
  29.         add("East", buttonPanel);
  30.       }
  31.     
  32.     //</pre><hr><pre>
  33.     public synchronized boolean switchOn()
  34.       { // This will blink the "Click ON button ..." message when
  35.         // the ATM is off
  36.         boolean isOn = _onButton.getState();
  37.         if (! isOn)
  38.             if (_message.isShowing())
  39.                 _message.hide();
  40.             else
  41.                 _message.show();
  42.         else
  43.             _message.hide();
  44.         return isOn;
  45.       }
  46.     
  47.     //</pre><hr><pre>
  48.     public Money getInitialCash()
  49.       { 
  50.         int numberBills = -1;
  51.         while (numberBills < 0)
  52.           { QuestionDialog cashDialog = new 
  53.               QuestionDialog("How many $20 bills are in the cash dispenser?", this);
  54.             String answer = cashDialog.answer();
  55.             if (answer != null)
  56.                 try
  57.                   { numberBills = Integer.parseInt(answer); }
  58.                 catch (NumberFormatException e)
  59.                   { }
  60.            }
  61.         return new Money(20 * numberBills);    
  62.       }
  63.       
  64.     //</pre><hr><pre>
  65.     // These fields are needed by the GUI
  66.     
  67.     private Label _message;
  68.     private Checkbox _offButton;
  69.     private Checkbox _onButton;
  70.   }
  71. //</pre></body></html>