0% found this document useful (0 votes)
2 views

Calculator

This document contains Java code for a simple calculator application using Swing. It defines a Calculator class that creates a GUI with buttons for numbers and operations, handling user input through action listeners. The calculator performs basic arithmetic operations and displays results in a text field.

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)
2 views

Calculator

This document contains Java code for a simple calculator application using Swing. It defines a Calculator class that creates a GUI with buttons for numbers and operations, handling user input through action listeners. The calculator performs basic arithmetic operations and displays results in a text field.

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(“Impact",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