Main.java Source code

Java tutorial

Introduction

Here is the source code for Main.java

Source

import java.awt.Color;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;

public class Main extends JFrame implements ActionListener {
    JButton num1, num2, num3, num4, num5, num6, num7, num8, num9, num0, add, sub, div, mult, equalto, exit, point,
            reset;
    JTextField textField;
    String s = "", ope = "";
    int flag = 0;
    double total1;
    double first, second;

    void total(double first, double second, String ope) {
        String total;
        if (ope.equalsIgnoreCase("+")) {
            total1 = first + second;
            total = Double.toString(total1);
            textField.setText(total);
        } else if (ope.equalsIgnoreCase("-")) {
            total1 = first - second;
            total = Double.toString(total1);
            textField.setText(total);
        } else if (ope.equalsIgnoreCase("*")) {
            total1 = first * second;
            total = Double.toString(total1);
            textField.setText(total);
        } else if (ope.equalsIgnoreCase("/")) {
            total1 = first / second;
            total = Double.toString(total1);
            textField.setText(total);
        }
        clearfields();
    }

    public Main() {
        Container content = getContentPane();
        content.setLayout(new FlowLayout());
        JLabel jl = new JLabel("          Calculator                ");
        textField = new JTextField(15);
        num1 = new JButton(" 1 ");
        num2 = new JButton(" 2 ");
        num3 = new JButton(" 3 ");
        num4 = new JButton(" 4 ");
        num5 = new JButton(" 5 ");
        num6 = new JButton(" 6 ");
        num7 = new JButton(" 7 ");
        num8 = new JButton(" 8 ");
        num9 = new JButton(" 9 ");
        num0 = new JButton(" 0 ");
        add = new JButton(" + ");
        sub = new JButton("  -  ");
        div = new JButton("  / ");
        mult = new JButton(" *  ");
        equalto = new JButton(" = ");
        exit = new JButton("    Exit     ");
        point = new JButton("  . ");
        reset = new JButton("C");
        reset.setBackground(Color.RED);
        num1.addActionListener(this);
        num2.addActionListener(this);
        num3.addActionListener(this);
        num4.addActionListener(this);
        num5.addActionListener(this);
        num6.addActionListener(this);
        num7.addActionListener(this);
        num8.addActionListener(this);
        num9.addActionListener(this);
        num0.addActionListener(this);
        add.addActionListener(this);
        sub.addActionListener(this);
        mult.addActionListener(this);
        div.addActionListener(this);
        equalto.addActionListener(this);
        exit.addActionListener(this);
        point.addActionListener(this);
        reset.addActionListener(this);
        content.add(jl);
        content.add(textField);
        content.add(num1);
        content.add(num2);
        content.add(num3);
        content.add(add);
        content.add(num4);
        content.add(num5);
        content.add(num6);
        content.add(sub);
        content.add(num7);
        content.add(num8);
        content.add(num9);
        content.add(div);
        content.add(num0);
        content.add(point);
        content.add(mult);
        content.add(equalto);
        content.add(reset);
        content.add(exit);
    }

    public static void main(String arg[]) {
        Main jf = new Main();
        jf.setSize(230, 250);
        jf.setVisible(true);

    }

    public void actionPerformed(ActionEvent e) {
        Object o = e.getSource();
        if (o == num1) {
            textField.setText(s.concat("1"));
            s = textField.getText();
        } else if (o == num2) {
            textField.setText(s.concat("2"));
            s = textField.getText();
        } else if (o == num3) {
            textField.setText(s.concat("3"));
            s = textField.getText();
        } else if (o == num4) {
            textField.setText(s.concat("4"));
            s = textField.getText();
        } else if (o == num5) {
            textField.setText(s.concat("5"));
            s = textField.getText();
        } else if (o == num6) {
            textField.setText(s.concat("6"));
            s = textField.getText();
        } else if (o == num7) {
            textField.setText(s.concat("7"));
            s = textField.getText();
        } else if (o == num8) {
            textField.setText(s.concat("8"));
            s = textField.getText();
        } else if (o == num9) {
            textField.setText(s.concat("9"));
            s = textField.getText();
        } else if (o == num0) {
            textField.setText(s.concat("0"));
            s = textField.getText();
        } else if (o == add) {

            textField.setText("");
            first = Double.parseDouble(s);
            System.out.println(first);
            s = "";
            ope = "+";
        } else if (o == sub) {
            textField.setText("");
            first = Double.parseDouble(s);
            s = "";
            ope = "-";
        } else if (o == mult) {
            textField.setText("");
            first = Double.parseDouble(s);
            s = "";
            ope = "*";
        } else if (o == div) {
            textField.setText("");
            first = Double.parseDouble(s);
            s = "";
            ope = "/";
        } else if (o == equalto) {
            if (flag == 0) {
                second = Double.parseDouble(s);
                total(first, second, ope);
                flag = 1;
            } else if (flag == 1) {
                second = Double.parseDouble(s);
                total(first, second, ope);
            }
            System.out.println(first);
        } else if (o == exit) {
            System.exit(0);
        } else if (o == point) {
            textField.setText(s.concat("."));
            s = textField.getText();
        }
        if (o == reset) {
            textField.setText("");
            s = textField.getText();
            total1 = 0;
        }
    }

    private void clearfields() {
        first = 0;
        second = 0;
        ope = "";
        flag = 0;
        total1 = 0;
        s = "";
    }
}