"""\ A silly little calculator implemented in JPython using Java components for the UI. """ import java from java import awt def exit(e): java.lang.System.exit(0) def getField (f): t = f.getText () if t == '': return 0 else: return java.lang.Integer.parseInt (t) def doMath (e): n1 = getField (f1) n2 = getField (f2) sum.setText (repr (n1 + n2)) diff.setText (repr (n1 - n2)) prod.setText (repr (n1 * n2)) quo.setText (repr (n1 / n2)) f = awt.Frame ('BSH Calculator (jpython)', windowClosing=exit) f1 = awt.TextField (20, actionPerformed=doMath) f2 = awt.TextField (20, textValueChanged=doMath) p = awt.Panel () p.setLayout (awt.GridLayout (2, 2)) p.add (awt.Label ('Enter Operand')) p.add (f1) p.add (awt.Label ('Enter Operand')) p.add (f2) f.add ('North', p) f.add ("Center", awt.Label ('Results:')) p = awt.Panel () p.setLayout (awt.GridLayout (4, 2)) p.add (awt.Label ('Sum')) sum = awt.TextField (20) p.add (sum) p.add (awt.Label ('Difference')) diff = awt.TextField (20) p.add (diff) p.add (awt.Label ('Product')) prod = awt.TextField (20) p.add (prod) p.add (awt.Label ('Quotient')) quo = awt.TextField (20) p.add (quo) f.add ('South', p) f.pack () f.show () f.toFront ()