/* A silly little calculator implemented in Javascript (Rhino) using Java components for the UI. */ f = new java.awt.Frame ("BSH Calculator (js)"); bsf.addEventListener (f, "window", "windowClosing", "java.lang.System.exit (0);"); f1 = new java.awt.TextField (20); bsf.addEventListener (f1, "action", null, "doMath ()"); f2 = new java.awt.TextField (20); bsf.addEventListener (f2, "text", null, "doMath ()"); p = new java.awt.Panel (); p.setLayout (new java.awt.GridLayout (2, 2)); p.add (new java.awt.Label ("Enter Operand")); p.add (f1); p.add (new java.awt.Label ("Enter Operand")); p.add (f2); f.add ("North", p); f.add ("Center", new java.awt.Label ("Results:")); p = new java.awt.Panel (); p.setLayout (new java.awt.GridLayout (4, 2)); p.add (new java.awt.Label ("Sum")); p.add (sum = new java.awt.TextField (20)) p.add (new java.awt.Label ("Difference")); p.add (diff = new java.awt.TextField (20)); p.add (new java.awt.Label ("Product")); p.add (prod = new java.awt.TextField (20)); p.add (new java.awt.Label ("Quotient")); p.add (quo = new java.awt.TextField (20)); f.add ("South", p); f.pack (); f.show (); f.toFront (); function getField (f) { t = f.getText (); return (t == "") ? 0 : java.lang.Integer.parseInt (t); } function doMath () { n1 = getField (f1); n2 = getField (f2); sum.setText ((n1 + n2) + ""); diff.setText ((n1 - n2) + ""); prod.setText ((n1 * n2) + ""); quo.setText ((n1 / n2) + ""); }