Here is the Calculator code we wrote (5th period, but the classes were similar):
import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Calculator { private JLabel label; //where we display the current value private int num; //number shown on the display private class NumberListener implements ActionListener { int val; //value of this button public NumberListener(int val) { this.val = val; } public void actionPerformed(ActionEvent e) { num = num*10 + val; label.setText(num + ""); } } public Calculator() { JFrame frame = new JFrame("Calculator"); frame.setLayout(new BorderLayout()); JPanel bPanel = new JPanel(); //panel with all the buttons bPanel.setLayout(new GridLayout(4,5)); JButton button7 = new JButton("7"); button7.addActionListener(new NumberListener(7)); bPanel.add(button7); JButton button8 = new JButton("8"); button8.addActionListener(new NumberListener(8)); bPanel.add(button8); JButton button9 = new JButton("9"); button9.addActionListener(new NumberListener(9)); bPanel.add(button9); JButton buttonDiv = new JButton("/"); bPanel.add(buttonDiv); JButton button4 = new JButton("4"); button4.addActionListener(new NumberListener(4)); bPanel.add(button4); JButton button5 = new JButton("5"); button5.addActionListener(new NumberListener(5)); bPanel.add(button5); JButton button6 = new JButton("6"); button6.addActionListener(new NumberListener(6)); bPanel.add(button6); JButton buttonMul = new JButton("*"); bPanel.add(buttonMul); JButton button1 = new JButton("1"); button1.addActionListener(new NumberListener(1)); bPanel.add(button1); JButton button2 = new JButton("2"); button2.addActionListener(new NumberListener(2)); bPanel.add(button2); JButton button3 = new JButton("3"); button3.addActionListener(new NumberListener(3)); bPanel.add(button3); JButton buttonMin = new JButton("-"); bPanel.add(buttonMin); JButton button0 = new JButton("0"); button0.addActionListener(new NumberListener(0)); bPanel.add(button0); JButton buttonPlus = new JButton("+"); bPanel.add(buttonPlus); frame.add(bPanel, BorderLayout.CENTER); label = new JLabel("0"); frame.add(label, BorderLayout.NORTH); num = 0; frame.pack(); frame.setVisible(true); } public static void main(String[] args) { new Calculator(); } }