Advertisement
Bewin

Simple Calculator

Nov 27th, 2023
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 6.22 KB | None | 0 0
  1. import javax.swing.*;
  2. import java.awt.*;
  3. import java.awt.event.*;
  4.  
  5. class Calculator extends JFrame implements ActionListener{
  6.     JButton b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,b_add,b_sub,b_multi,b_div,b_clear,b_del,b_dot,b_equals;
  7.     JTextField text;
  8.     static double variable = 0, result = 0;
  9.     static String sResult = "";
  10.     static int operationNumber = -1;
  11.     Calculator(){
  12.         setLayout(null);
  13.         setResizable(false);
  14.         setSize(350,550);
  15.  
  16.         text = new JTextField(10);
  17.         text.setEditable(false);
  18.  
  19.         b0 = new JButton("0");
  20.         b1 = new JButton("1");
  21.         b2 = new JButton("2");
  22.         b3 = new JButton("3");
  23.         b4 = new JButton("4");
  24.         b5 = new JButton("5");
  25.         b6 = new JButton("6");
  26.         b7 = new JButton("7");
  27.         b8 = new JButton("8");
  28.         b9 = new JButton("9");
  29.         b_equals = new JButton("=");
  30.         b_dot = new JButton(".");
  31.         b_add = new JButton("+");
  32.         b_sub = new JButton("-");
  33.         b_multi = new JButton("*");
  34.         b_div = new JButton("/");
  35.         b_del = new JButton("del");
  36.         b_clear = new JButton("clear");
  37.  
  38.         text.setBounds(20,20,290,70);
  39.  
  40.         b7.setBounds(30,110,60,60);
  41.         b8.setBounds(100,110,60,60);
  42.         b9.setBounds(170,110,60,60);
  43.         b_div.setBounds(240,110,60,60);
  44.  
  45.         b4.setBounds(30,190,60,60);
  46.         b5.setBounds(100,190,60,60);
  47.         b6.setBounds(170,190,60,60);
  48.         b_multi.setBounds(240,190,60,60);
  49.  
  50.         b1.setBounds(30,270,60,60);
  51.         b2.setBounds(100,270,60,60);
  52.         b3.setBounds(170,270,60,60);
  53.         b_sub.setBounds(240,270,60,60);
  54.  
  55.         b_dot.setBounds(30,350,60,60);
  56.         b0.setBounds(100,350,60,60);
  57.         b_equals.setBounds(170,350,60,60);
  58.         b_add.setBounds(240,350,60,60);
  59.  
  60.         b_clear.setBounds(30,430,130,60);
  61.         b_del.setBounds(170,430,130,60);
  62.  
  63.         add(text);
  64.         add(b0);
  65.         add(b1);
  66.         add(b2);
  67.         add(b3);
  68.         add(b4);
  69.         add(b5);
  70.         add(b6);
  71.         add(b7);
  72.         add(b8);
  73.         add(b9);
  74.         add(b_dot);
  75.         add(b_add);
  76.         add(b_sub);
  77.         add(b_multi);
  78.         add(b_div);
  79.         add(b_del);
  80.         add(b_clear);
  81.         add(b_equals);
  82.  
  83.         setVisible(true);
  84.  
  85.         b0.addActionListener(this);
  86.         b1.addActionListener(this);
  87.         b2.addActionListener(this);
  88.         b3.addActionListener(this);
  89.         b4.addActionListener(this);
  90.         b5.addActionListener(this);
  91.         b6.addActionListener(this);
  92.         b7.addActionListener(this);
  93.         b8.addActionListener(this);
  94.         b9.addActionListener(this);
  95.         b_equals.addActionListener(this);
  96.         b_dot.addActionListener(this);
  97.         b_add.addActionListener(this);
  98.         b_sub.addActionListener(this);
  99.         b_multi.addActionListener(this);
  100.         b_div.addActionListener(this);
  101.         b_del.addActionListener(this);
  102.         b_clear.addActionListener(this);
  103.  
  104.     }
  105.     public void actionPerformed(ActionEvent e){
  106.         try {
  107.             if (e.getSource() == b0)
  108.                 text.setText(text.getText().concat("0"));
  109.             if (e.getSource() == b1)
  110.                 text.setText(text.getText().concat("1"));
  111.             if (e.getSource() == b2)
  112.                 text.setText(text.getText().concat("2"));
  113.             if (e.getSource() == b3)
  114.                 text.setText(text.getText().concat("3"));
  115.             if (e.getSource() == b4)
  116.                 text.setText(text.getText().concat("4"));
  117.             if (e.getSource() == b5)
  118.                 text.setText(text.getText().concat("5"));
  119.             if (e.getSource() == b6)
  120.                 text.setText(text.getText().concat("6"));
  121.             if (e.getSource() == b7)
  122.                 text.setText(text.getText().concat("7"));
  123.             if (e.getSource() == b8)
  124.                 text.setText(text.getText().concat("8"));
  125.             if (e.getSource() == b9)
  126.                 text.setText(text.getText().concat("9"));
  127.             if (e.getSource() == b_dot)
  128.                 text.setText(text.getText().concat("."));
  129.             else if (e.getSource() == b_add) {
  130.                 operationNumber = 1;
  131.                 variable = Double.parseDouble(text.getText());
  132.                 clearTextBox();
  133.             } else if (e.getSource() == b_sub) {
  134.                 operationNumber = 2;
  135.                 variable = Double.parseDouble(text.getText());
  136.                 clearTextBox();
  137.             } else if (e.getSource() == b_multi) {
  138.                 operationNumber = 3;
  139.                 variable = Double.parseDouble(text.getText());
  140.                 clearTextBox();
  141.             } else if (e.getSource() == b_div) {
  142.                 operationNumber = 4;
  143.                 variable = Double.parseDouble(text.getText());
  144.                 clearTextBox();
  145.             } else if (e.getSource() == b_del) {
  146.  
  147.                 if (text.getText().length() != 0) {
  148.                     String temp = text.getText();
  149.                     clearTextBox();
  150.  
  151.                     for (int i = 0; i < temp.length() - 1; i++)
  152.                         text.setText(text.getText() + temp.charAt(i));
  153.                 }
  154.  
  155.             } else if (e.getSource() == b_clear) {
  156.                 clearTextBox();
  157.             } else if (e.getSource() == b_equals) {
  158.  
  159.                 if (operationNumber == 1) {
  160.                     result = variable + Double.parseDouble(text.getText());
  161.                 }
  162.                 if (operationNumber == 2) {
  163.                     result = variable - Double.parseDouble(text.getText());
  164.                 }
  165.                 if (operationNumber == 3) {
  166.                     result = variable * Double.parseDouble(text.getText());
  167.                 }
  168.                 if (operationNumber == 4) {
  169.                     result = variable / Double.parseDouble(text.getText());
  170.                 }
  171.                 text.setText("" + result);
  172.             }
  173.         }
  174.         catch (Exception err){}
  175.  
  176.  
  177.     }
  178.     void clearTextBox() {
  179.         text.setText("");
  180.     }
  181. }
  182.  
  183. public class Main{
  184.     public static void main(String[] args) {
  185.         SwingUtilities.invokeLater(new Runnable(){
  186.             public void run(){
  187.                 new Calculator();
  188.             }
  189.         });
  190.     }
  191.  
  192. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement