java program | Create a calculator application with swing.
we need to create a structure with java swing component
follow button , textfield, and other
JFrame: The main window/container for the application.
JTextField: Used as the display area for input and results.
JButton: Used for all the numbers (0-9), operators (+, -, *, /), equals (=), and control buttons (Clear, Delete, etc.).
JPanel: A container often used to organize the buttons using a specific Layout Manager .
ActionListener: An interface implemented to handle events (button clicks) from the JButton components.
source code given below:
/* blogger: skccs.blogspot.com
*/
/*
To Create a Calculator by Using java programming
*/
Source Code :
import javax.swing.*;
import java.awt.event.*;
/* class name declare with Action listener */
class calculator implements ActionListener
{
JFrame f;
JTextField t;
JButton b1, b2,b3,b4,b5,b6,b7,b8,b9,b0,badd,bsub,bmul,bdiv,bdec,beq,bdel,bclr;
static double a=0,b=0,result=0;
static int operator=0;
calculator()
{
f=new JFrame("Calculator");
t=new JTextField();
b1=new JButton("1");
b2=new JButton("2");
b3=new JButton("3");
b4=new JButton("4");
b5=new JButton("5");
b6=new JButton("6");
b7=new JButton("7");
b8=new JButton("8");
b9=new JButton("9");
b0=new JButton("0");
badd=new JButton("+");
bsub=new JButton("-");
bmul=new JButton("*");
bdiv=new JButton("/");
bdec=new JButton(".");
beq=new JButton("=");
bdel=new JButton("Delete");
bclr=new JButton("Clear");
t.setBounds(30,40,280,30);
b7.setBounds(40,100,50,40);
b8.setBounds(110,100,50,40);
b9.setBounds(180,100,50,40);
bdiv.setBounds(250,100,50,40);
b4.setBounds(40,170,50,40);
b5.setBounds(110,170,50,40);
b6.setBounds(180,170,50,40);
bmul.setBounds(250,170,50,40);
b1.setBounds(40,240,50,40);
b2.setBounds(110,240,50,40);
b3.setBounds(180,240,50,40);
bsub.setBounds(250,240,50,40);
bdec.setBounds(40,310,50,40);
b0.setBounds(110,310,50,40);
beq.setBounds(180,310,50,40);
badd.setBounds(250,310,50,40);
bdel.setBounds(60,380,100,40);
bclr.setBounds(180,380,100,40);
f.add(t);
f.add(b7);
f.add(b8);
f.add(b9);
f.add(bdiv);
f.add(b4);
f.add(b5);
f.add(b6);
f.add(bmul);
f.add(b1);
f.add(b2);
f.add(b3);
f.add(bsub);
f.add(bdec);
f.add(b0);
f.add(beq);
f.add(badd);
f.add(bdel);
f.add(bclr);
f.setLayout(null);
f.setVisible(true);
f.setSize(350,500);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setResizable(true);
b1.addActionListener(this);
b2.addActionListener(this);
b3.addActionListener(this);
b4.addActionListener(this);
b5.addActionListener(this);
b6.addActionListener(this);
b7.addActionListener(this);
b8.addActionListener(this);
b9.addActionListener(this);
b0.addActionListener(this);
badd.addActionListener(this);
bsub.addActionListener(this);
bmul.addActionListener(this);
bdiv.addActionListener(this);
bdec.addActionListener(this);
beq.addActionListener(this);
bdel.addActionListener(this);
bclr.addActionListener(this);
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==b1)
t.setText(t.getText().concat("1"));
if(e.getSource()==b2)
t.setText(t.getText().concat("2"));
if(e.getSource()==b3)
t.setText(t.getText().concat("3"));
if(e.getSource()==b4)
t.setText(t.getText().concat("4"));
if(e.getSource()==b5)
t.setText(t.getText().concat("5"));
if(e.getSource()==b6)
t.setText(t.getText().concat("6"));
if(e.getSource()==b7)
t.setText(t.getText().concat("7"));
if(e.getSource()==b8)
t.setText(t.getText().concat("8"));
if(e.getSource()==b9)
t.setText(t.getText().concat("9"));
if(e.getSource()==b0)
t.setText(t.getText().concat("0"));
if(e.getSource()==bdec)
t.setText(t.getText().concat("."));
if(e.getSource()==badd)
{
a=Double.parseDouble(t.getText());
operator=1;
t.setText("");
}
if(e.getSource()==bsub)
{
a=Double.parseDouble(t.getText());
operator=2;
t.setText("");
}
if(e.getSource()==bmul)
{
a=Double.parseDouble(t.getText());
operator=3;
t.setText("");
}
if(e.getSource()==bdiv)
{
a=Double.parseDouble(t.getText());
operator=4;
t.setText("");
}
if(e.getSource()==beq)
{
b=Double.parseDouble(t.getText());
switch(operator)
{
case 1:result=a+b;
break;
case 2:result=a-b;
break;
case 3:result=a*b;
break;
case 4:result=a/b;
break;
default:result=0;
}
t.setText(""+result);
}
if (e.getSource()==bclr)
t.setText("");
if (e.getSource()==bdel)
{
String s=t.getText();
t.setText("");
for (int i=0;i<s.length()-1 ;i++ )
t.setText(t.getText()+s.charAt(i));
}
}
public static void main(String[] args) {
new calculator();
}
}
save as the source code with class_name.java
(this program in the class name
=calculator i.e
calculator.java)
after the saving source code open
command line
A .
for windows os user
step I.
open the
cmd command prompt
set directory where you have save source code file (for change directory to use
cd command)
step II. for run java program enter command
javac class_name.java
so this program class name =
calculator
hence enter command
"javac calculator.java
step III. after compile without error
then executes for command line enter
java class_name (without .java extension)
just enter command line
java calculator
B .
for Linux os user
step I.
open
terminal command line
(shortcut keys for open terminal command in linux ="
ctrl + A
lt +
T)
set directory where you have save source code file
for change directory to use
cd file_name command
for example i have saved the
source code on
Desktop
so i used command
cd Desktop
just see in below image
step II.
for run java program enter command
javac class_name.java
so this program class name =
calculator
hence enter command
"javac calculator.java
just see in below image :
step III.
after compile without error
then executes for command line enter
java class_name (without .java extension)
just enter command line
java calculator
after execution complete show your calculator apps on your monitor
image show in below as like
**** if you have any problem in source code then please comment ****
0 Comments