rendered paste body// CSE 1030 - Lab 4// Nazir Nooriimport javax.swing.*;import java.awt.*;import java.awt.event.*;public class Calculator extends JFrame implements ActionListener{ public static final int WIDTH = 600; public static final int HEIGHT = 400; private JTextField inputA; private JTextField inputB; private JTextField output; public static void main(String[] args) { Calculator gui = new Calculator(); gui.setVisible(true); } public Calculator() { // Frame settings super("Java Calculator"); setSize(WIDTH, HEIGHT); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setLayout(new FlowLayout()); // Create panels JPanel left = new JPanel(); JPanel right = new JPanel(); add(left); add(right); left.setLayout(new GridLayout(3,1)); right.setLayout(new GridLayout(4,1)); // Create text fields inputA = new JTextField(10); inputB = new JTextField(10); output = new JTextField(10); output.setEditable(false); left.add(inputA); left.add(inputB); left.add(output); // Create buttons JButton add = new JButton("+"); JButton subtract = new JButton("-"); JButton multiply = new JButton("x"); JButton divide = new JButton("/"); right.add(add); right.add(subtract); right.add(multiply); right.add(divide); // Set button listeners add.addActionListener(this); subtract.addActionListener(this); multiply.addActionListener(this); divide.addActionListener(this); // Create the menu bar JMenuBar bar = new JMenuBar(); setJMenuBar(bar); // Create menu lists JMenu file = new JMenu("File"); JMenu clear = new JMenu("Clear"); // Create menu items JMenuItem quit = new JMenuItem("Quit"); JMenuItem clearA = new JMenuItem("Clear A"); JMenuItem clearB = new JMenuItem("Clear B"); JMenuItem clearAll = new JMenuItem("Clear All"); // Add menu components file.add(quit); clear.add(clearA); clear.add(clearB); clear.add(clearAll); bar.add(file); bar.add(clear); // Set menu action listeners quit.addActionListener(this); clearA.addActionListener(this); clearB.addActionListener(this); clearAll.addActionListener(this); } public void actionPerformed(ActionEvent e) { String action = e.getActionCommand(); if (action.equals("Quit")) System.exit(0); else if (action.equals("Clear A")) inputA.setText(""); else if (action.equals("Clear B")) inputB.setText(""); else if (action.equals("Clear All")) { inputA.setText(""); inputB.setText(""); output.setText("0"); } else if (action.equals("+")) output.setText(Double.toString(Double.valueOf(inputA.getText()) + Double.valueOf(inputB.getText()))); else if (action.equals("-")) output.setText(Double.toString(Double.valueOf(inputA.getText()) - Double.valueOf(inputB.getText()))); else if (action.equals("x")) output.setText(Double.toString(Double.valueOf(inputA.getText()) * Double.valueOf(inputB.getText()))); else if(action.equals("/")) { if (inputB.getText().equals("0") || inputB.getText().equals("0.0")) output.setText("Error"); else output.setText(Double.toString(Double.valueOf(inputA.getText()) / Double.valueOf(inputB.getText()))); } }}