Thursday, May 8, 2008

GUI calculator

Code for a GUI calculator-This still has some unfinished code - I have used Netbeans so it will be a good idea to make a java file from this and open it using netbeans

/*
* GuiCalculator.java
*
* Created on 18 March 2008, 11:54
*/
package Calculator;

import java.util.Vector;
import java.util.Enumeration;

/**
*
* @author Eranda De Alwis
*/
public class GuiCalculator extends javax.swing.JFrame {

/** Creates new form GuiCalculator */
public GuiCalculator() {
initComponents();
}

/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
//
private void initComponents() {

disply_scrn = new javax.swing.JTextField();
bttn_1 = new javax.swing.JButton();
bttn_2 = new javax.swing.JButton();
bttn_3 = new javax.swing.JButton();
bttn_4 = new javax.swing.JButton();
bttn_5 = new javax.swing.JButton();
bttn_6 = new javax.swing.JButton();
bttn_7 = new javax.swing.JButton();
bttn_8 = new javax.swing.JButton();
bttn_9 = new javax.swing.JButton();
bttn_add = new javax.swing.JButton();
bttn_subtract = new javax.swing.JButton();
bttn_answr = new javax.swing.JButton();
bttn_divide = new javax.swing.JButton();
bttn_Mult = new javax.swing.JButton();
bttn_plus_minus = new javax.swing.JButton();
bttn_decimal = new javax.swing.JButton();
bttn_percentage = new javax.swing.JButton();
bttn_sqrt = new javax.swing.JButton();
bttn_clear = new javax.swing.JButton();
bttn_0 = new javax.swing.JButton();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
addWindowListener(new java.awt.event.WindowAdapter() {
public void windowOpened(java.awt.event.WindowEvent evt) {
formWindowOpened(evt);
}
});

bttn_1.setText("1");
bttn_1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
bttn_1ActionPerformed(evt);
}
});

bttn_2.setText("2");
bttn_2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
bttn_2ActionPerformed(evt);
}
});

bttn_3.setText("3");
bttn_3.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
bttn_3ActionPerformed(evt);
}
});

bttn_4.setText("4");
bttn_4.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
bttn_4ActionPerformed(evt);
}
});

bttn_5.setText("5");
bttn_5.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
bttn_5ActionPerformed(evt);
}
});

bttn_6.setText("6");
bttn_6.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
bttn_6ActionPerformed(evt);
}
});

bttn_7.setText("7");
bttn_7.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
bttn_7ActionPerformed(evt);
}
});

bttn_8.setText("8");
bttn_8.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
bttn_8ActionPerformed(evt);
}
});

bttn_9.setText("9");
bttn_9.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
bttn_9ActionPerformed(evt);
}
});

bttn_add.setText("+");
bttn_add.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
bttn_addActionPerformed(evt);
}
});

bttn_subtract.setText("-");
bttn_subtract.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
bttn_subtractActionPerformed(evt);
}
});

bttn_answr.setText("=");
bttn_answr.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
bttn_answrActionPerformed(evt);
}
});

bttn_divide.setText("/");
bttn_divide.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
bttn_divideActionPerformed(evt);
}
});

bttn_Mult.setText("*");
bttn_Mult.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
bttn_MultActionPerformed(evt);
}
});

bttn_plus_minus.setText("+/-");
bttn_plus_minus.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
bttn_plus_minusActionPerformed(evt);
}
});

bttn_decimal.setText(".");

bttn_percentage.setText("%");
bttn_percentage.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
bttn_percentageActionPerformed(evt);
}
});

bttn_sqrt.setText("sqrt");
bttn_sqrt.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
bttn_sqrtActionPerformed(evt);
}
});

bttn_clear.setText("C");
bttn_clear.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
bttn_clearActionPerformed(evt);
}
});

bttn_0.setText("0");
bttn_0.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
bttn_0MouseClicked(evt);
}
public void mousePressed(java.awt.event.MouseEvent evt) {
bttn_0MousePressed(evt);
}
public void mouseReleased(java.awt.event.MouseEvent evt) {
bttn_0MouseReleased(evt);
}
});
bttn_0.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
bttn_0ActionPerformed(evt);
}
});

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(disply_scrn, javax.swing.GroupLayout.DEFAULT_SIZE, 281, Short.MAX_VALUE)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(bttn_decimal, javax.swing.GroupLayout.PREFERRED_SIZE, 52, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(bttn_5, javax.swing.GroupLayout.DEFAULT_SIZE, 52, Short.MAX_VALUE)
.addComponent(bttn_0, javax.swing.GroupLayout.DEFAULT_SIZE, 52, Short.MAX_VALUE)
.addComponent(bttn_subtract, javax.swing.GroupLayout.DEFAULT_SIZE, 52, Short.MAX_VALUE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(bttn_clear, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(bttn_add, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(bttn_6, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(bttn_1, javax.swing.GroupLayout.DEFAULT_SIZE, 50, Short.MAX_VALUE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(bttn_percentage, javax.swing.GroupLayout.DEFAULT_SIZE, 49, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED))
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(bttn_7, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(bttn_2, javax.swing.GroupLayout.DEFAULT_SIZE, 49, Short.MAX_VALUE))
.addGap(6, 6, 6))
.addGroup(layout.createSequentialGroup()
.addComponent(bttn_Mult, javax.swing.GroupLayout.DEFAULT_SIZE, 49, Short.MAX_VALUE)
.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(bttn_3, javax.swing.GroupLayout.DEFAULT_SIZE, 53, Short.MAX_VALUE)
.addComponent(bttn_8, javax.swing.GroupLayout.DEFAULT_SIZE, 53, Short.MAX_VALUE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(bttn_9, javax.swing.GroupLayout.DEFAULT_SIZE, 53, Short.MAX_VALUE)
.addComponent(bttn_4, javax.swing.GroupLayout.PREFERRED_SIZE, 53, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
.addComponent(bttn_divide, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(bttn_sqrt, javax.swing.GroupLayout.Alignment.LEADING, 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)
.addComponent(bttn_answr, javax.swing.GroupLayout.PREFERRED_SIZE, 52, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(bttn_plus_minus, javax.swing.GroupLayout.PREFERRED_SIZE, 53, javax.swing.GroupLayout.PREFERRED_SIZE))))))
.addContainerGap())
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(27, 27, 27)
.addComponent(disply_scrn, javax.swing.GroupLayout.PREFERRED_SIZE, 38, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(26, 26, 26)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(bttn_4, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(bttn_3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(bttn_0, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(bttn_2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(bttn_1, 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.BASELINE)
.addComponent(bttn_5, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(bttn_9)
.addComponent(bttn_8, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(bttn_6, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(bttn_7, 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.BASELINE)
.addComponent(bttn_sqrt, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(bttn_plus_minus, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(bttn_subtract, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(bttn_add, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(bttn_Mult, 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.BASELINE)
.addComponent(bttn_divide, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(bttn_answr, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(bttn_decimal, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(bttn_clear)
.addComponent(bttn_percentage))
.addGap(63, 63, 63))
);

pack();
}//

private void bttn_3ActionPerformed(java.awt.event.ActionEvent evt) {
displayNum("3");
}

private void bttn_addActionPerformed(java.awt.event.ActionEvent evt) {
if(disply_scrn.getText().equals("")){}
else{

double num_to_add = Double.parseDouble(disply_scrn.getText());

addItem(num_to_add);


disply_scrn.setText("");
display = "0";
displyItem();
}
// calculation=false;
}

private void bttn_MultActionPerformed(java.awt.event.ActionEvent evt) {
if(disply_scrn.getText().equals("")){}
else{
double num_to_add2 = Double.parseDouble(disply_scrn.getText());
multItem(num_to_add2);
disply_scrn.setText("");
display = "0";

displyItemmult();
calculation=false;
}

}

private void bttn_percentageActionPerformed(java.awt.event.ActionEvent evt) {
if(disply_scrn.getText().equals("")){}
else{
double num_to_add3 = Double.parseDouble(disply_scrn.getText());
disply_scrn.setText("");
display = "0";
String Perc = String.valueOf((num_to_add3 / 100));
disply_scrn.setText(Perc);


}
}

private void bttn_0ActionPerformed(java.awt.event.ActionEvent evt) {
displayNum("0");
}

private void bttn_0MouseClicked(java.awt.event.MouseEvent evt) {
}

private void formWindowOpened(java.awt.event.WindowEvent evt) {


}

private void bttn_1ActionPerformed(java.awt.event.ActionEvent evt) {
displayNum("1");
}

private void bttn_2ActionPerformed(java.awt.event.ActionEvent evt) {
displayNum("2");
}

private void bttn_4ActionPerformed(java.awt.event.ActionEvent evt) {
displayNum("4");
}

private void bttn_5ActionPerformed(java.awt.event.ActionEvent evt) {
displayNum("5");
}

private void bttn_6ActionPerformed(java.awt.event.ActionEvent evt) {
displayNum("6");
}

private void bttn_7ActionPerformed(java.awt.event.ActionEvent evt) {
displayNum("7");
}

private void bttn_8ActionPerformed(java.awt.event.ActionEvent evt) {
displayNum("8");
}

private void bttn_9ActionPerformed(java.awt.event.ActionEvent evt) {
displayNum("9");
}

private void bttn_0MouseReleased(java.awt.event.MouseEvent evt) {
}

private void bttn_0MousePressed(java.awt.event.MouseEvent evt) {
}

private void bttn_divideActionPerformed(java.awt.event.ActionEvent evt) {
if(disply_scrn.getText().equals("")){}

else{

double num_to_add3 = Double.parseDouble(disply_scrn.getText());


divItem(num_to_add3);

disply_scrn.setText("");
display = "0";
displyItemdiv();
}
}

private void bttn_subtractActionPerformed(java.awt.event.ActionEvent evt) {
if(disply_scrn.getText().equals("")){}
else{
double num_to_add3 = Double.parseDouble(disply_scrn.getText());
subItem(num_to_add3);

disply_scrn.setText("");
display = "0";
displyItemsub();}

}

private void bttn_clearActionPerformed(java.awt.event.ActionEvent evt) {
clearScrn();
}

private void bttn_sqrtActionPerformed(java.awt.event.ActionEvent evt) {
if(disply_scrn.getText().equals("")){}
else{
double num_to_add3 = Double.parseDouble(disply_scrn.getText());
disply_scrn.setText("");
display = "0";
String numsqrt = String.valueOf(Math.sqrt(num_to_add3));
disply_scrn.setText(numsqrt);
}
}

private void bttn_plus_minusActionPerformed(java.awt.event.ActionEvent evt) {
plusorminus();
}

private void bttn_answrActionPerformed(java.awt.event.ActionEvent evt) {
if(disply_scrn.getText().equals("")){}
else{
disply_scrn.setText(tot);
}
}
String display = "0";
String disp;
boolean calculation=false;

public void clearScrn() {
disply_scrn.setText("");
// display = "0";
addition.clear();
multiplication.clear();
division.clear();
subtract.clear();
}
String tot;

public void displayNum(String number) {

double scrn_number = Double.parseDouble(display);
if (scrn_number < 99999999999999999999999999999999.0) {

if(calculation){
//display = display + number;
disply_scrn.setText(display);
}else{
display = display + number;
disply_scrn.setText(display);
}
} else {
}

}

// void displayNum(String number){

// }



Vector addition = new Vector(32);
Enumeration E = addition.elements();

void addItem(Double item) {

addition.addElement(item);
}
double total = 0;

void displyItem() {
Object arrItem;
double arrItemdbl;
double numb_to_add;
numb_to_add = Double.parseDouble(display);
// if (numb_to_add!=0){
// total =numb_to_add;
//}

//
//else{
// total=0;
// }

// String tot;

do {


arrItem = E.nextElement();
arrItemdbl = (Double) arrItem;
total = total + arrItemdbl;


} while (addition.size()!=0 && E.hasMoreElements());

tot = String.valueOf(total);
disply_scrn.setText(tot);
calculation=false;
}
// ********************** MULTIPLICATION ************************
Vector multiplication = new Vector(32);
Enumeration EM = multiplication.elements();

void multItem(Double item) {

multiplication.addElement(item);
}
double total2 = 1;

void displyItemmult() {
Object arrItem2;
double arrItemdbl2;

String tot2;

do {


arrItem2 = EM.nextElement();
arrItemdbl2 = (Double) arrItem2;
total2 = total2 * arrItemdbl2;

// }
} while (EM.hasMoreElements());

tot = String.valueOf(total2);
disply_scrn.setText(tot);

}

//******************************* DIVIDE ****************
Vector division = new Vector(32);
Enumeration ED = division.elements();

void divItem(Double item) {

division.addElement(item);
}


void displyItemdiv() {
Object arrItem;
double arrItemdbl;
int index = 1;
// String tot;
double total3 = (Double) division.elementAt(0);

while (index < division.size()) {

arrItem = division.elementAt(index);
arrItemdbl = (Double) arrItem;
total3 = total3 / arrItemdbl;
index++;
}
tot = Double.toString(total3);
disply_scrn.setText(tot);

}
// ***************************** SUBTRACT**********
Vector subtract = new Vector(32);
Enumeration ES = subtract.elements();
void subItem(Double item) {

subtract.addElement(item);
}

// double total3=(Double)division.elementAt(0);
void displyItemsub() {
Object arrItem;
double arrItemdbl;
int index = 1;
// String tot;
double total3 = (Double) subtract.elementAt(0);

while (index < subtract.size()) {

arrItem = subtract.elementAt(index);
arrItemdbl = (Double) arrItem;
total3 = total3 - arrItemdbl;
index++;
}
tot = Double.toString(total3);
disply_scrn.setText(tot);

}
String minus="-";
public void plusorminus(){
double scrn_number = Double.parseDouble(disply_scrn.getText());
if (scrn_number>0){
disply_scrn.setText(minus+ disply_scrn.getText());
}
else{}

}


/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {

public void run() {
new GuiCalculator().setVisible(true);



}
});



}

// Variables declaration - do not modify
private javax.swing.JButton bttn_0;
private javax.swing.JButton bttn_1;
private javax.swing.JButton bttn_2;
private javax.swing.JButton bttn_3;
private javax.swing.JButton bttn_4;
private javax.swing.JButton bttn_5;
private javax.swing.JButton bttn_6;
private javax.swing.JButton bttn_7;
private javax.swing.JButton bttn_8;
private javax.swing.JButton bttn_9;
private javax.swing.JButton bttn_Mult;
private javax.swing.JButton bttn_add;
private javax.swing.JButton bttn_answr;
private javax.swing.JButton bttn_clear;
private javax.swing.JButton bttn_decimal;
private javax.swing.JButton bttn_divide;
private javax.swing.JButton bttn_percentage;
private javax.swing.JButton bttn_plus_minus;
private javax.swing.JButton bttn_sqrt;
private javax.swing.JButton bttn_subtract;
private javax.swing.JTextField disply_scrn;
// End of variables declaration
}

No comments: