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

Calculator 1

This document contains a Java program that implements a simple graphical calculator using Swing. It features buttons for numbers and basic arithmetic operations, allowing users to perform calculations and display results in a text field. The program handles user input and performs operations based on button clicks, updating the display accordingly.

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)
11 views5 pages

Calculator 1

This document contains a Java program that implements a simple graphical calculator using Swing. It features buttons for numbers and basic arithmetic operations, allowing users to perform calculations and display results in a text field. The program handles user input and performs operations based on button clicks, updating the display accordingly.

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