home *** CD-ROM | disk | FTP | other *** search
/ CD Actual Thematic 7: Programming / CDAT7.iso / Share / Java / Bluette / Examples / Calculator.class (.txt) next >
Encoding:
Java Class File  |  1998-12-07  |  6.4 KB  |  316 lines

  1. import java.applet.Applet;
  2. import java.awt.Button;
  3. import java.awt.Color;
  4. import java.awt.Component;
  5. import java.awt.Container;
  6. import java.awt.Event;
  7. import java.awt.Font;
  8. import java.awt.Graphics;
  9. import java.awt.LayoutManager;
  10. import java.awt.Panel;
  11. import java.awt.TextField;
  12.  
  13. public class Calculator extends Applet {
  14.    final int MenuBarHeight;
  15.    public double arg;
  16.    // $FF: renamed from: op java.lang.String
  17.    public String field_0 = "=";
  18.    public boolean start = true;
  19.    public TextField display;
  20.    public Panel Panel1;
  21.    public Button Button1;
  22.    public Button Button2;
  23.    public Button Button3;
  24.    public Button Button4;
  25.    public Button Button5;
  26.    public Button Button6;
  27.    public Button Button7;
  28.    public Button Button8;
  29.    public Button Button9;
  30.    public Button Button10;
  31.    public Button Button11;
  32.    public Button Button12;
  33.    public Button Button13;
  34.    public Button Button14;
  35.    public Button Button15;
  36.    public Button Button16;
  37.  
  38.    public void init() {
  39.       ((Component)this).setForeground(Color.black);
  40.       ((Component)this).setBackground(Color.lightGray);
  41.       ((Component)this).setFont(new Font("Dialog", 1, 12));
  42.       ((Container)this).setLayout((LayoutManager)null);
  43.       this.display = new TextField("0");
  44.       this.display.setForeground(Color.black);
  45.       this.display.setBackground(Color.lightGray);
  46.       this.display.setFont(new Font("Dialog", 1, 12));
  47.       this.display.setEditable(false);
  48.       this.Panel1 = new Panel();
  49.       this.Panel1.setLayout((LayoutManager)null);
  50.       this.Panel1.setForeground(Color.black);
  51.       this.Panel1.setBackground(Color.lightGray);
  52.       this.Panel1.setFont(new Font("Dialog", 1, 12));
  53.       this.Button1 = new Button("1");
  54.       this.Button1.setFont(new Font("Dialog", 1, 12));
  55.       this.Button2 = new Button("2");
  56.       this.Button2.setFont(new Font("Dialog", 1, 12));
  57.       this.Button3 = new Button("3");
  58.       this.Button3.setFont(new Font("Dialog", 1, 12));
  59.       this.Button4 = new Button("4");
  60.       this.Button4.setFont(new Font("Dialog", 1, 12));
  61.       this.Button5 = new Button("5");
  62.       this.Button5.setFont(new Font("Dialog", 1, 12));
  63.       this.Button6 = new Button("6");
  64.       this.Button6.setFont(new Font("Dialog", 1, 12));
  65.       this.Button7 = new Button("7");
  66.       this.Button7.setFont(new Font("Dialog", 1, 12));
  67.       this.Button8 = new Button("8");
  68.       this.Button8.setFont(new Font("Dialog", 1, 12));
  69.       this.Button9 = new Button("9");
  70.       this.Button9.setFont(new Font("Dialog", 1, 12));
  71.       this.Button10 = new Button("0");
  72.       this.Button10.setFont(new Font("Dialog", 1, 12));
  73.       this.Button11 = new Button(".");
  74.       this.Button11.setFont(new Font("Dialog", 1, 12));
  75.       this.Button12 = new Button("=");
  76.       this.Button12.setFont(new Font("Dialog", 1, 12));
  77.       this.Button13 = new Button("+");
  78.       this.Button13.setFont(new Font("Dialog", 1, 12));
  79.       this.Button14 = new Button("-");
  80.       this.Button14.setFont(new Font("Dialog", 1, 12));
  81.       this.Button15 = new Button("*");
  82.       this.Button15.setFont(new Font("Dialog", 1, 12));
  83.       this.Button16 = new Button("/");
  84.       this.Button16.setFont(new Font("Dialog", 1, 12));
  85.       this.Panel1.add(this.Button16);
  86.       this.Panel1.add(this.Button15);
  87.       this.Panel1.add(this.Button14);
  88.       this.Panel1.add(this.Button13);
  89.       this.Panel1.add(this.Button12);
  90.       this.Panel1.add(this.Button11);
  91.       this.Panel1.add(this.Button10);
  92.       this.Panel1.add(this.Button9);
  93.       this.Panel1.add(this.Button8);
  94.       this.Panel1.add(this.Button7);
  95.       this.Panel1.add(this.Button6);
  96.       this.Panel1.add(this.Button5);
  97.       this.Panel1.add(this.Button4);
  98.       this.Panel1.add(this.Button3);
  99.       this.Panel1.add(this.Button2);
  100.       this.Panel1.add(this.Button1);
  101.       ((Container)this).add(this.Panel1);
  102.       ((Container)this).add(this.display);
  103.       this.InitialPositionSet();
  104.    }
  105.  
  106.    public void start() {
  107.    }
  108.  
  109.    public void stop() {
  110.    }
  111.  
  112.    public void destroy() {
  113.    }
  114.  
  115.    public void paint(Graphics var1) {
  116.    }
  117.  
  118.    public void InitialPositionSet() {
  119.       ((Applet)this).resize(193, 217);
  120.       this.display.reshape(8, 4, 179, 24);
  121.       this.Panel1.reshape(7, 34, 179, 177);
  122.       this.Button1.reshape(9, 8, 40, 40);
  123.       this.Button2.reshape(49, 8, 40, 40);
  124.       this.Button3.reshape(89, 8, 40, 40);
  125.       this.Button4.reshape(129, 8, 40, 40);
  126.       this.Button5.reshape(9, 48, 40, 40);
  127.       this.Button6.reshape(49, 48, 40, 40);
  128.       this.Button7.reshape(89, 48, 40, 40);
  129.       this.Button8.reshape(129, 48, 40, 40);
  130.       this.Button9.reshape(9, 88, 40, 40);
  131.       this.Button10.reshape(49, 88, 40, 40);
  132.       this.Button11.reshape(89, 88, 40, 40);
  133.       this.Button12.reshape(129, 88, 40, 40);
  134.       this.Button13.reshape(9, 128, 40, 40);
  135.       this.Button14.reshape(49, 128, 40, 40);
  136.       this.Button15.reshape(89, 128, 40, 40);
  137.       this.Button16.reshape(129, 128, 40, 40);
  138.    }
  139.  
  140.    public boolean handleEvent(Event var1) {
  141.       if (var1.id == 201 && var1.target == this) {
  142.          this.Calculator_WindowDestroy(var1.target);
  143.       } else if (var1.id == 1001 && var1.target == this.Button1) {
  144.          this.Button1_Action(var1.target);
  145.       } else if (var1.id == 1001 && var1.target == this.Button11) {
  146.          this.Button1_Action(var1.target);
  147.       } else if (var1.id == 1001 && var1.target == this.Button2) {
  148.          this.Button1_Action(var1.target);
  149.       } else if (var1.id == 1001 && var1.target == this.Button3) {
  150.          this.Button1_Action(var1.target);
  151.       } else if (var1.id == 1001 && var1.target == this.Button4) {
  152.          this.Button1_Action(var1.target);
  153.       } else if (var1.id == 1001 && var1.target == this.Button5) {
  154.          this.Button1_Action(var1.target);
  155.       } else if (var1.id == 1001 && var1.target == this.Button6) {
  156.          this.Button1_Action(var1.target);
  157.       } else if (var1.id == 1001 && var1.target == this.Button7) {
  158.          this.Button1_Action(var1.target);
  159.       } else if (var1.id == 1001 && var1.target == this.Button8) {
  160.          this.Button1_Action(var1.target);
  161.       } else if (var1.id == 1001 && var1.target == this.Button9) {
  162.          this.Button1_Action(var1.target);
  163.       } else if (var1.id == 1001 && var1.target == this.Button10) {
  164.          this.Button1_Action(var1.target);
  165.       } else if (var1.id == 1001 && var1.target == this.Button14) {
  166.          this.Button14_Action(var1.target);
  167.       } else if (var1.id == 1001 && var1.target == this.Button13) {
  168.          this.Button13_Action(var1.target);
  169.       } else if (var1.id == 1001 && var1.target == this.Button15) {
  170.          this.Button13_Action(var1.target);
  171.       } else if (var1.id == 1001 && var1.target == this.Button16) {
  172.          this.Button13_Action(var1.target);
  173.       } else if (var1.id == 1001 && var1.target == this.Button12) {
  174.          this.Button13_Action(var1.target);
  175.       }
  176.  
  177.       return super.handleEvent(var1);
  178.    }
  179.  
  180.    public void Calculator_WindowDestroy(Object var1) {
  181.       System.exit(0);
  182.    }
  183.  
  184.    public void Button1_Action(Object var1) {
  185.       String var2 = ((Button)var1).getLabel();
  186.       if (this.start) {
  187.          this.display.setText(var2);
  188.       } else {
  189.          this.display.setText(this.display.getText() + var2);
  190.       }
  191.  
  192.       this.start = false;
  193.    }
  194.  
  195.    public void Button14_Action(Object var1) {
  196.       String var2 = ((Button)var1).getLabel();
  197.       if (this.start) {
  198.          this.display.setText(var2);
  199.          this.start = false;
  200.       } else {
  201.          this.calculate(this.atof(this.display.getText()));
  202.          this.field_0 = var2;
  203.          this.start = true;
  204.       }
  205.    }
  206.  
  207.    public void Button13_Action(Object var1) {
  208.       String var2 = ((Button)var1).getLabel();
  209.       if (this.start) {
  210.          this.field_0 = var2;
  211.       } else {
  212.          this.calculate(this.atof(this.display.getText()));
  213.          this.field_0 = var2;
  214.          this.start = true;
  215.       }
  216.    }
  217.  
  218.    public void calculate(double var1) {
  219.       if (this.field_0 == "+") {
  220.          this.arg += var1;
  221.       } else if (this.field_0 == "-") {
  222.          this.arg -= var1;
  223.       } else if (this.field_0 == "*") {
  224.          this.arg *= var1;
  225.       } else if (this.field_0 == "/") {
  226.          this.arg /= var1;
  227.       } else if (this.field_0 == "%") {
  228.          this.arg %= var1;
  229.       } else if (this.field_0 == "=") {
  230.          this.arg = var1;
  231.       }
  232.  
  233.       this.display.setText(String.valueOf(this.arg));
  234.    }
  235.  
  236.    public double atof(String var1) {
  237.       int var2 = 0;
  238.       byte var3 = 1;
  239.       double var4 = (double)0.0F;
  240.       double var6 = (double)1.0F;
  241.  
  242.       boolean var8;
  243.       for(var8 = false; var2 < var1.length() && Character.isSpace(var1.charAt(var2)); ++var2) {
  244.       }
  245.  
  246.       if (var2 < var1.length() && var1.charAt(var2) == '-') {
  247.          var3 = -1;
  248.          ++var2;
  249.       } else if (var2 < var1.length() && var1.charAt(var2) == '+') {
  250.          ++var2;
  251.       }
  252.  
  253.       for(; var2 < var1.length(); ++var2) {
  254.          char var9 = var1.charAt(var2);
  255.          if (var9 >= '0' && var9 <= '9') {
  256.             if (!var8) {
  257.                var4 = var4 * (double)10.0F + (double)var9 - (double)48.0F;
  258.             } else if (var8) {
  259.                var6 /= (double)10.0F;
  260.                var4 += var6 * (double)(var9 - 48);
  261.             }
  262.          } else {
  263.             if (var9 != '.') {
  264.                if (var9 != 'e' && var9 != 'E') {
  265.                   return (double)var3 * var4;
  266.                }
  267.  
  268.                long var10 = (long)((int)this.parseLong(var1.substring(var2 + 1), 10));
  269.                return (double)var3 * var4 * Math.pow((double)10.0F, (double)var10);
  270.             }
  271.  
  272.             if (var8) {
  273.                return (double)var3 * var4;
  274.             }
  275.  
  276.             var8 = true;
  277.          }
  278.       }
  279.  
  280.       return (double)var3 * var4;
  281.    }
  282.  
  283.    public long parseLong(String var1, int var2) {
  284.       int var3 = 0;
  285.       byte var4 = 1;
  286.  
  287.       long var5;
  288.       for(var5 = 0L; var3 < var1.length() && Character.isSpace(var1.charAt(var3)); ++var3) {
  289.       }
  290.  
  291.       if (var3 < var1.length() && var1.charAt(var3) == '-') {
  292.          var4 = -1;
  293.          ++var3;
  294.       } else if (var3 < var1.length() && var1.charAt(var3) == '+') {
  295.          ++var3;
  296.       }
  297.  
  298.       for(; var3 < var1.length(); ++var3) {
  299.          char var7 = var1.charAt(var3);
  300.          if (var7 >= '0' && var7 < 48 + var2) {
  301.             var5 = var5 * (long)var2 + (long)var7 - 48L;
  302.          } else if (var7 >= 'A' && var7 < 65 + var2 - 10) {
  303.             var5 = var5 * (long)var2 + (long)var7 - 65L + 10L;
  304.          } else {
  305.             if (var7 < 'a' || var7 >= 97 + var2 - 10) {
  306.                return var5 * (long)var4;
  307.             }
  308.  
  309.             var5 = var5 * (long)var2 + (long)var7 - 97L + 10L;
  310.          }
  311.       }
  312.  
  313.       return var5 * (long)var4;
  314.    }
  315. }
  316.