import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class Calculator_Main extends javax.swing.JFrame implements ActionListener {
int i,fans=0,ftxt;
double ans;
public double compute(double x, double y, int oper){
double nReturn = 0;
switch(oper)
{
case 1:
nReturn = x + y;
break;
case 2:
nReturn = x - y;
break;
case 3:
nReturn = x * y;
break;
case 4:
nReturn = x / y;
break;
default:
System.exit(0);
}
return nReturn;
}
public Calculator_Main()
{
initComponents();
}
@SuppressWarnings("unchecked")
//
private void initComponents() {
jTextField1 = new javax.swing.JTextField();
jButton1 = new javax.swing.JButton();
jButton2 = new javax.swing.JButton();
jButton3 = new javax.swing.JButton();
jButton4 = new javax.swing.JButton();
Add = new javax.swing.JButton();
jButton6 = new javax.swing.JButton();
Subt = new javax.swing.JButton();
jButton8 = new javax.swing.JButton();
jButton9 = new javax.swing.JButton();
Equal = new javax.swing.JButton();
jButton11 = new javax.swing.JButton();
jButton12 = new javax.swing.JButton();
Decimal = new javax.swing.JButton();
jButton14 = new javax.swing.JButton();
Multip = new javax.swing.JButton();
Divi = new javax.swing.JButton();
DEL = new javax.swing.JButton();
CLS = new javax.swing.JButton();
jButton19 = new javax.swing.JButton();
jLabel1 = new javax.swing.JLabel();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setTitle("Calculator");
setBackground(new java.awt.Color(0, 0, 0));
setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
setForeground(new java.awt.Color(0, 0, 0));
setResizable(false);
jTextField1.setBackground(new java.awt.Color(255, 255, 255));
jTextField1.setColumns(30);
jTextField1.setEditable(false);
jTextField1.setHorizontalAlignment(javax.swing.JTextField.TRAILING);
jTextField1.setText("0");
jTextField1.setAlignmentY(0.0F);
jTextField1.setDisabledTextColor(new java.awt.Color(255, 255, 255));
jTextField1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jTextField1ActionPerformed(evt);
}
});
jButton1.setText(" 1 ");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});
jButton2.setText(" 4 ");
jButton2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton2ActionPerformed(evt);
}
});
jButton3.setText(" 5 ");
jButton3.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton3ActionPerformed(evt);
}
});
jButton4.setText(" 2 ");
jButton4.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton4ActionPerformed(evt);
}
});
Add.setLabel("+");
Add.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
AddActionPerformed(evt);
}
});
jButton6.setText(" 6 ");
jButton6.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton6ActionPerformed(evt);
}
});
Subt.setText("- ");
Subt.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
SubtActionPerformed(evt);
}
});
jButton8.setText(" 3 ");
jButton8.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton8ActionPerformed(evt);
}
});
jButton9.setText(" 9 ");
jButton9.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton9ActionPerformed(evt);
}
});
Equal.setText("=");
Equal.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
EqualActionPerformed(evt);
}
});
jButton11.setText(" 8 ");
jButton11.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton11ActionPerformed(evt);
}
});
jButton12.setText(" 0 ");
jButton12.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton12ActionPerformed(evt);
}
});
Decimal.setText(".");
Decimal.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
DecimalActionPerformed(evt);
}
});
jButton14.setText(" 7 ");
jButton14.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton14ActionPerformed(evt);
}
});
Multip.setText("x");
Multip.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
MultipActionPerformed(evt);
}
});
Divi.setText("÷");
Divi.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
DiviActionPerformed(evt);
}
});
DEL.setText("DEL");
DEL.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
DELActionPerformed(evt);
}
});
CLS.setText("CLS");
CLS.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
CLSActionPerformed(evt);
}
});
jButton19.setText("EXIT");
jButton19.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton19ActionPerformed(evt);
}
});
jLabel1.setText("© ALL RIGHTS RESERVED");
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(39, 39, 39)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 202, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
.addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
.addComponent(DEL, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(CLS, javax.swing.GroupLayout.PREFERRED_SIZE, 65, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jButton19, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
.addComponent(jButton14, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jButton12, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jButton2))
.addComponent(jButton1))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(jButton4)
.addComponent(jButton3))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jButton8)
.addComponent(jButton6)))
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(Decimal, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jButton11))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(Equal, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jButton9, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(Divi, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(Add, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(Multip, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(Subt))))
.addGroup(layout.createSequentialGroup()
.addGap(32, 32, 32)
.addComponent(jLabel1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 46, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGap(27, 27, 27))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(22, 22, 22)
.addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jButton4)
.addComponent(jButton8)
.addComponent(jButton1))
.addComponent(Add, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jButton3)
.addComponent(jButton6)
.addComponent(jButton2)
.addComponent(Subt))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jButton11)
.addComponent(jButton14))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(Decimal)
.addComponent(jButton12)
.addComponent(Equal)
.addComponent(Divi)))
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jButton9)
.addComponent(Multip)))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(DEL)
.addComponent(jButton19)
.addComponent(CLS))
.addGap(18, 18, 18)
.addComponent(jLabel1)
.addContainerGap(29, Short.MAX_VALUE))
);
pack();
}//
private void jTextField1ActionPerformed(java.awt.event.ActionEvent evt) {
//
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
if(ftxt == 0){
{
if(jTextField1.getText().equals("0"))
jTextField1.setText(Integer.toString(1));
else
jTextField1.setText(jTextField1.getText() + Integer.toString(1));
}
}
}
private void jButton19ActionPerformed(java.awt.event.ActionEvent evt) {
System.exit(0);
}
private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {
if(ftxt == 0)
{
if(jTextField1.getText().equals("0"))
jTextField1.setText(Integer.toString(2));
else
jTextField1.setText(jTextField1.getText() + Integer.toString(2));
}
}
private void AddActionPerformed(java.awt.event.ActionEvent evt) {
if(evt.getSource() == Add)
{
if(fans == 0)
{
ans = Double.parseDouble(jTextField1.getText());
jTextField1.setText("0");
fans = 1;
}
else
{
ans = compute(ans, Double.parseDouble(jTextField1.getText()), fans);
fans = 1;
ftxt = 1;
jTextField1.setText(Double.toString(ans));
}
}
}
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
if(ftxt == 0)
{
if(jTextField1.getText().equals("0"))
jTextField1.setText(Integer.toString(4));
else
jTextField1.setText(jTextField1.getText() + Integer.toString(4));
}
}
private void jButton8ActionPerformed(java.awt.event.ActionEvent evt) {
if(ftxt == 0)
{
if(jTextField1.getText().equals("0"))
jTextField1.setText(Integer.toString(3));
else
jTextField1.setText(jTextField1.getText() + Integer.toString(3));
}
}
private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
if(ftxt == 0)
{
if(jTextField1.getText().equals("0"))
jTextField1.setText(Integer.toString(5));
else
jTextField1.setText(jTextField1.getText() + Integer.toString(5));
}
}
private void jButton6ActionPerformed(java.awt.event.ActionEvent evt) {
if(ftxt == 0)
{
if(jTextField1.getText().equals("0"))
jTextField1.setText(Integer.toString(6));
else
jTextField1.setText(jTextField1.getText() + Integer.toString(6));
}
}
private void jButton9ActionPerformed(java.awt.event.ActionEvent evt) {
if(ftxt == 0)
{
if(jTextField1.getText().equals("0"))
jTextField1.setText(Integer.toString(9));
else
jTextField1.setText(jTextField1.getText() + Integer.toString(9));
}
}
private void jButton14ActionPerformed(java.awt.event.ActionEvent evt) {
if(ftxt == 0)
{
if(jTextField1.getText().equals("0"))
jTextField1.setText(Integer.toString(7));
else
jTextField1.setText(jTextField1.getText() + Integer.toString(7));
}
}
private void jButton11ActionPerformed(java.awt.event.ActionEvent evt) {
if(ftxt == 0)
{
if(jTextField1.getText().equals("0"))
jTextField1.setText(Integer.toString(8));
else
jTextField1.setText(jTextField1.getText() + Integer.toString(8));
}
}
private void jButton12ActionPerformed(java.awt.event.ActionEvent evt) {
if(ftxt == 0)
{
if(jTextField1.getText().equals("0"))
jTextField1.setText(Integer.toString(0));
else
jTextField1.setText(jTextField1.getText() + Integer.toString(0));
}
}
private void CLSActionPerformed(java.awt.event.ActionEvent evt) {
if(evt.getSource() == CLS)
{
jTextField1.setText("0");
fans = 0;
ftxt = 0;
}
}
private void DiviActionPerformed(java.awt.event.ActionEvent evt) {
if(fans == 0)
{
ans = Double.parseDouble(jTextField1.getText());
jTextField1.setText("0");
fans = 4;
}
else
{
ans = compute(ans, Double.parseDouble(jTextField1.getText()), fans);
fans = 4;
ftxt = 1;
jTextField1.setText(Double.toString(ans));
}
}
private void DecimalActionPerformed(java.awt.event.ActionEvent evt) {
if(evt.getSource() == Decimal)
{
if(ftxt == 0)
{
if(!jTextField1.getText().contains("."))
jTextField1.setText(jTextField1.getText() + ".");
}
else
{
jTextField1.setText("0.");
ftxt = 0;
}
}
}
private void EqualActionPerformed(java.awt.event.ActionEvent evt) {
if(evt.getSource() == Equal)
{
switch(fans)
{
case 0:
break;
case 1:
ans = compute(ans, Double.parseDouble(jTextField1.getText()), fans);
jTextField1.setText(Double.toString(ans));
fans = 0;
break;
case 2:
ans = compute(ans, Double.parseDouble(jTextField1.getText()), fans);
jTextField1.setText(Double.toString(ans));
fans = 0;
break;
case 3:
ans = compute(ans, Double.parseDouble(jTextField1.getText()), fans);
jTextField1.setText(Double.toString(ans));
fans = 0;
break;
case 4:
ans = compute(ans, Double.parseDouble(jTextField1.getText()), fans);
jTextField1.setText(Double.toString(ans));
fans = 0;
break;
default:
System.exit(0);
break;
}
}
}
private void SubtActionPerformed(java.awt.event.ActionEvent evt) {
if(evt.getSource() == Subt)
{
if(fans == 0)
{
ans = Double.parseDouble(jTextField1.getText());
jTextField1.setText("0");
fans = 2;
}
{
ans = compute(ans, Double.parseDouble(jTextField1.getText()), fans);
fans = 2;
ftxt = 1;
jTextField1.setText(Double.toString(ans));
}
}
}
private void MultipActionPerformed(java.awt.event.ActionEvent evt) {
if(evt.getSource() == Multip)
{
if(fans == 0)
{
ans = Double.parseDouble(jTextField1.getText());
jTextField1.setText("0");
fans = 3;
}
else
{
ans = compute(ans, Double.parseDouble(jTextField1.getText()), fans);
fans = 3;
ftxt = 1;
jTextField1.setText(Double.toString(ans));
}
}
}
private void DELActionPerformed(java.awt.event.ActionEvent evt) {
if(evt.getSource() == DEL)
{
if(ftxt == 0)
{
if(jTextField1.getText().length() > 0)
jTextField1.setText(jTextField1.getText().substring(0, jTextField1.getText().length() - 1));
}
}
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Calculator_Main().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton Add;
private javax.swing.JButton CLS;
private javax.swing.JButton DEL;
private javax.swing.JButton Decimal;
private javax.swing.JButton Divi;
private javax.swing.JButton Equal;
private javax.swing.JButton Multip;
private javax.swing.JButton Subt;
private javax.swing.JButton jButton1;
private javax.swing.JButton jButton11;
private javax.swing.JButton jButton12;
private javax.swing.JButton jButton14;
private javax.swing.JButton jButton19;
private javax.swing.JButton jButton2;
private javax.swing.JButton jButton3;
private javax.swing.JButton jButton4;
private javax.swing.JButton jButton6;
private javax.swing.JButton jButton8;
private javax.swing.JButton jButton9;
private javax.swing.JLabel jLabel1;
private javax.swing.JTextField jTextField1;
// End of variables declaration
public void actionPerformed(ActionEvent e) {
throw new UnsupportedOperationException("Not supported yet.");
}
}
