You are on page 1of 3

package com.simpleCalculator; import import import import import import import import import java.awt.EventQueue; java.awt.GridLayout; java.awt.BorderLayout; java.awt.event.

ActionListener; java.awt.event.ActionEvent; javax.swing.JFrame; javax.swing.JPanel; javax.swing.JTextField; javax.swing.JButton;

import java.awt.Container;

public class SimpleCalcu implements ActionListener { JFrame guiFrame; JPanel buttonPanel; JTextField numberCalc; int calcOperation = 0; int currentCalc; public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { @Override public void run() { new SimpleCalc_main(); } }); } public void SimpleCalc() { guiFrame = new JFrame(); guiFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); guiFrame.setTitle("Simple Calculator"); guiFrame.setSize(300, 300); guiFrame.setLocationRelativeTo(null); numberCalc = new JTextField(); numberCalc.setHorizontalAlignment(JTextField.RIGHT); numberCalc.setEditable(false); guiFrame.add(numberCalc, BorderLayout.NORTH); buttonPanel = new JPanel(); buttonPanel.setLayout(new GridLayout (4, 3)); guiFrame.add(buttonPanel, BorderLayout.CENTER);

for (int i=1; i<10; i++) { addButton(buttonPanel, String.valueOf(i)); } JButton addButton = new JButton("+"); addButton.setActionCommand("+"); OperatorAction subAction = new OperatorAction(1); addButton.addActionListener(subAction); JButton subButton = new JButton("-"); subButton.setActionCommand("-"); JButton equalsButton = new JButton("="); equalsButton.setActionCommand("="); equalsButton.addActionListener(new ActionListener() {

private void addButton(JPanel buttonPanel2, String valueOf) { // TODO Auto-generated method stub } @Override public void actionPerformed(ActionEvent event) { // TODO Auto-generated method stub if (!numberCalc.getText() .isEmpty()) { int number = Integer.parseInt(numberCalc.getText()); if (calcOperation == 1) { int calculate = currentCalc + number; numberCalc.setText(Integer.toString(calculate)); } else if (calcOperation == 2) { int calculate = currentCalc - number; numberCalc.setText(Integer.toString(calculate)); } } } }); buttonPanel.add(addButton); buttonPanel.add(subButton); buttonPanel.add(equalsButton); guiFrame.setVisible(true); }

private void addButton(Container parent, String name) { JButton but = new JButton(name); but.setActionCommand(name); but.addActionListener(this); parent.add(but); }

@Override public void actionPerformed(ActionEvent event) { String action = event.getActionCommand(); numberCalc.setText(action); } private class OperatorAction implements ActionListener { private int operator; public OperatorAction(int operation) { operator = operation; } public void actionPerformed(ActionEvent event) { currentCalc = Integer.parseInt(numberCalc.getText()); calcOperation = operator; } } }

You might also like