Listing 1: calc.py
from java.awt import * from pawt.swing import *
labels = ['7', '8', '9', '+',
'4', '5', '6', '-',
'1', '2', '3', '*',
'0', '.', '=', '/']
keys = JPanel(GridLayout(4, 4))
display = JTextField()
def push(event): # Callback for regular keys
display.replaceSelection(event.actionCommand)
def enter(event): # Callback for '=' key
display.text = str(eval(display.text))
display.selectAll()
for label in labels:
key = JButton(label)
if label == '=':
key.actionPerformed = enter
else:
key.actionPerformed = push
keys.add(key)
panel = JPanel(BorderLayout())
panel.add("North", display)
panel.add("Center", keys)
test(panel)
Copyright © 1994 - 2019 Linux Journal. All rights reserved.