-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcalculator.java
More file actions
151 lines (131 loc) · 3.99 KB
/
calculator.java
File metadata and controls
151 lines (131 loc) · 3.99 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
import java.awt.event.*;
import javax.swing.*;
import java.awt.*;
public class calculator implements ActionListener
{
static JTextField j1;
double num1,num2,result;
String operator;
public static void main(String args[])
{
JFrame f1=new JFrame();
MenuBar mb1=new MenuBar();
f1.setMenuBar(mb1);
Menu m1=new Menu("File");
mb1.add(m1);
Menu m2=new Menu("Edit");
mb1.add(m2);
Menu m3=new Menu("Help");
mb1.add(m3);
MenuItem a1=new MenuItem("Clear");
m1.add(a1);
MenuItem bb1=new MenuItem("Exit");
m1.add(bb1);
MenuItem c1=new MenuItem("Copy");
m2.add(c1);
MenuItem d1=new MenuItem("Paste");
m2.add(d1);
MenuItem e1=new MenuItem("About Calculator");
m3.add(e1);
j1=new JTextField();
j1.setBounds(50,10,270,30);
JButton b1=new JButton("1");
b1.setBounds(50,50,50,50);
JButton b2=new JButton("2");
b2.setBounds(120,50,50,50);
JButton b3=new JButton("3");
b3.setBounds(190,50,50,50);
JButton b4=new JButton("/");
b4.setBounds(260,50,50,50);
JButton b5=new JButton("4");
b5.setBounds(50,130,50,50);
JButton b6=new JButton("5");
b6.setBounds(120,130,50,50);
JButton b7=new JButton("6");
b7.setBounds(190,130,50,50);
JButton b8=new JButton("*");
b8.setBounds(260,130,50,50);
JButton b9=new JButton("7");
b9.setBounds(50,210,50,50);
JButton b10=new JButton("8");
b10.setBounds(120,210,50,50);
JButton b11=new JButton("9");
b11.setBounds(190,210,50,50);
JButton b12=new JButton("-");
b12.setBounds(260,210,50,50);
JButton b13=new JButton("0");
b13.setBounds(50,290,50,50);
JButton b14=new JButton(".");
b14.setBounds(120,290,50,50);
JButton b15=new JButton("+");
b15.setBounds(190,290,50,50);
JButton b16=new JButton("=");
b16.setBounds(260,290,50,50);
// better action perfomance
calculator obj=new calculator();
b1.addActionListener(obj);
b2.addActionListener(obj);
b3.addActionListener(obj);
b4.addActionListener(obj);
b5.addActionListener(obj);
b6.addActionListener(obj);
b7.addActionListener(obj);
b8.addActionListener(obj);
b9.addActionListener(obj);
b10.addActionListener(obj);
b11.addActionListener(obj);
b12.addActionListener(obj);
b13.addActionListener(obj);
b14.addActionListener(obj);
b15.addActionListener(obj);
b16.addActionListener(obj);
f1.add(j1);
f1.add(b1);
f1.add(b2);
f1.add(b3);
f1.add(b4);
f1.add(b5);
f1.add(b6);
f1.add(b7);
f1.add(b8);
f1.add(b9);
f1.add(b10);
f1.add(b11);
f1.add(b12);
f1.add(b13);
f1.add(b14);
f1.add(b15);
f1.add(b16);
f1.setSize(500,500);
f1.setLayout(null);
f1.setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
String s = e.getActionCommand();
if(s.matches("[0-9]") || s.equals("."))
{
j1.setText(j1.getText() + s);
}
// Operator click
else if(s.equals("+") || s.equals("-") || s.equals("*") || s.equals("/"))
{
num1 = Double.parseDouble(j1.getText());
operator = s;
j1.setText("");
}
else if(s.equals("="))
{
num2 = Double.parseDouble(j1.getText());
if(operator.equals("+"))
result = num1 + num2;
else if(operator.equals("-"))
result = num1 - num2;
else if(operator.equals("*"))
result = num1 * num2;
else if(operator.equals("/"))
result = num1 / num2;
j1.setText(String.valueOf(result));
}
}
}