0% found this document useful (0 votes)
5 views5 pages

Calculator

This document contains a Java program that implements a simple graphical calculator using Swing. The calculator supports basic arithmetic operations such as addition, subtraction, multiplication, and division, along with functionalities like clearing the input and deleting the last character. The program creates a user interface with buttons for numbers and operations, and handles user input through action listeners.

Uploaded by

tejasbhore24
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views5 pages

Calculator

This document contains a Java program that implements a simple graphical calculator using Swing. The calculator supports basic arithmetic operations such as addition, subtraction, multiplication, and division, along with functionalities like clearing the input and deleting the last character. The program creates a user interface with buttons for numbers and operations, and handles user input through action listeners.

Uploaded by

tejasbhore24
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 5

import javax.swing.

*;
import java.awt.*;
import java.awt.event.*;

public class Main


{
public static void main(String[] args)
{
new Calculator();
}
}

class Calculator implements ActionListener


{
JFrame frame;
JTextField textfield;
JButton[] numberButtons = new JButton[10];
JButton[] functionButtons = new JButton[9];
JButton addButton,subButton,mulButton,divButton;
JButton decButton, equButton, delButton, clrButton, negButton;
JPanel panel;

Font myFont = new Font("Arial",Font.BOLD,30);

double num1=0,num2=0,result=0;
char operator;

Calculator()
{
frame = new JFrame("Calculator");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(420, 550);
frame.setLayout(null);

textfield = new JTextField();


textfield.setBounds(50, 25, 300, 50);
textfield.setFont(myFont);
textfield.setEditable(false);

addButton = new JButton("+");


subButton = new JButton("-");
mulButton = new JButton("*");
divButton = new JButton("/");
decButton = new JButton(".");
equButton = new JButton("=");
delButton = new JButton("Del");
clrButton = new JButton("Clr");
negButton = new JButton("(-)");

functionButtons[0] = addButton;
functionButtons[1] = subButton;
functionButtons[2] = mulButton;
functionButtons[3] = divButton;
functionButtons[4] = decButton;
functionButtons[5] = equButton;
functionButtons[6] = delButton;
functionButtons[7] = clrButton;
functionButtons[8] = negButton;

for(int i =0;i<9;i++)
{
functionButtons[i].addActionListener(this);
functionButtons[i].setFont(myFont);
functionButtons[i].setFocusable(false);
}

for(int i =0;i<10;i++)
{
numberButtons[i] = new JButton(String.valueOf(i));
numberButtons[i].addActionListener(this);
numberButtons[i].setFont(myFont);
numberButtons[i].setFocusable(false);
}

negButton.setBounds(50,430,100,50);
delButton.setBounds(150,430,100,50);
clrButton.setBounds(250,430,100,50);

panel = new JPanel();


panel.setBounds(50, 100, 300, 300);
panel.setLayout(new GridLayout(4,4,10,10));

panel.add(numberButtons[1]);
panel.add(numberButtons[2]);
panel.add(numberButtons[3]);
panel.add(addButton);
panel.add(numberButtons[4]);
panel.add(numberButtons[5]);
panel.add(numberButtons[6]);
panel.add(subButton);
panel.add(numberButtons[7]);
panel.add(numberButtons[8]);
panel.add(numberButtons[9]);
panel.add(mulButton);
panel.add(decButton);
panel.add(numberButtons[0]);
panel.add(equButton);
panel.add(divButton);

frame.add(panel);
frame.add(negButton);
frame.add(delButton);
frame.add(clrButton);
frame.add(textfield);
frame.setVisible(true);
}

@Override
public void actionPerformed(ActionEvent e)
{
for(int i=0;i<10;i++)
{
if(e.getSource() == numberButtons[i])
{

textfield.setText(textfield.getText().concat(String.valueOf(i)));
}
}

if(e.getSource()==decButton)
{
textfield.setText(textfield.getText().concat("."));
}

if(e.getSource()==addButton)
{
num1 = Double.parseDouble(textfield.getText());
operator ='+';
textfield.setText("");
}

if(e.getSource()==subButton)
{
num1 = Double.parseDouble(textfield.getText());
operator ='-';
textfield.setText("");
}

if(e.getSource()==mulButton)
{
num1 = Double.parseDouble(textfield.getText());
operator ='*';
textfield.setText("");
}

if(e.getSource()==divButton)
{
num1 = Double.parseDouble(textfield.getText());
operator ='/';
textfield.setText("");
}

if(e.getSource()==equButton)
{
num2=Double.parseDouble(textfield.getText());
switch(operator)
{
case'+':
result=num1+num2;
break;
case'-':
result=num1-num2;
break;
case'*':
result=num1*num2;
break;
case'/':
result=num1/num2;
break;
}
textfield.setText(String.valueOf(result));
num1=result;
}

if(e.getSource()==clrButton)
{
textfield.setText("");
}

if(e.getSource()==delButton)
{
String string = textfield.getText();
textfield.setText("");
for(int i=0;i<string.length()-1;i++)
{
textfield.setText(textfield.getText()+string.charAt(i));
}
}

if(e.getSource()==negButton)
{
double temp = Double.parseDouble(textfield.getText());
temp*=-1;
textfield.setText(String.valueOf(temp));
}
}
}

Output:

You might also like