Re: How to implement Global variables in java which can be shared
across several files ?
I'm sorry, the code for ActionCalculator.java is:
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package calculator;
/**
*
* @author Owner
*/
import java.awt.event.*;
import javax.swing.*;
public class ActionCalculator implements ActionListener {
private Operations operations = new Operations ();
public void actionPerformed(ActionEvent event) {
String pressedButton = ((JButton) event.getSource()).getText
();
if (pressedButton.equals("C")) {
calculator.displayField.setText("0");
calculator.operatorUsed = "=";
calculator.prevValue = 0;
calculator.resetFlag = false;
return;
}
if (pressedButton.equals("CE")) {
calculator.displayField.setText("0");
calculator.resetFlag = false;
return;
}
try {
Double.parseDouble(calculator.displayField.getText());
} catch (Exception e) {
calculator.resetFlag = true;
return;
}
for (int i = 0; i < 10; i++) {
if (pressedButton.equals("" + i)) {
if (calculator.resetFlag ||
calculator.displayField.getText().equals("0")) {
calculator.displayField.setText("");
}
calculator.displayField.setText
(calculator.displayField.getText() + i);
calculator.resetFlag = false;
return;
}
}
if (pressedButton.equals("")) {
return;
}
if (pressedButton.equals("MR")) {
if (!calculator.memRegVal.equals("")) {
calculator.displayField.setText(calculator.memRegVal);
}
return;
}
if (pressedButton.equals("MS")) {
calculator.memRegVal = calculator.displayField.getText();
calculator.memRegLabel.setText("M");
return;
}
if (pressedButton.equals("MC")) {
calculator.memRegLabel.setText(calculator.memRegVal = "");
return;
}
if (pressedButton.equals("M+")) {
if (!calculator.memRegVal.equals("")) {
calculator.memRegVal = "" + (Double.parseDouble
(calculator.memRegVal) + Double.parseDouble
(calculator.displayField.getText()));
} else {
calculator.memRegVal = calculator.displayField.getText
();
}
calculator.memRegLabel.setText("M");
return;
}
if (pressedButton.equals("Backspace")) {
String displayedText = calculator.displayField.getText();
if (displayedText.length() > 0) {
displayedText = displayedText.substring(0,
displayedText.length() - 1);
}
if (displayedText.length() == 0) {
displayedText = "0";
}
calculator.displayField.setText(displayedText);
calculator.resetFlag = false;
return;
}
if (pressedButton.equals(".")) {
if (!calculator.displayField.getText().contains(".")) {
calculator.displayField.setText
(calculator.displayField.getText() + ".");
}
calculator.resetFlag = false;
return;
}
if (pressedButton.equals("+/-")) {
double val = Double.parseDouble
(calculator.displayField.getText());
calculator.displayField.setText("" + -val);
calculator.resetFlag = false;
return;
}
if (pressedButton.equals("=")) {
calculator.prevValue = operations.calculateResult();
calculator.operatorUsed = "=";
calculator.displayField.setText("" +
calculator.prevValue);
calculator.resetFlag = true;
return;
}
if (pressedButton.equals("+")) {
calculator.prevValue = operations.calculateResult();
calculator.operatorUsed = "+";
calculator.displayField.setText("" +
calculator.prevValue);
calculator.resetFlag = true;
return;
}
if (pressedButton.equals("-")) {
calculator.prevValue = operations.calculateResult();
calculator.operatorUsed = "-";
calculator.displayField.setText("" +
calculator.prevValue);
calculator.resetFlag = true;
return;
}
if (pressedButton.equals("/")) {
calculator.prevValue = operations.calculateResult();
calculator.operatorUsed = "/";
calculator.displayField.setText("" +
calculator.prevValue);
calculator.resetFlag = true;
return;
}
if (pressedButton.equals("*")) {
calculator.prevValue = operations.calculateResult();
calculator.operatorUsed = "*";
calculator.displayField.setText("" +
calculator.prevValue);
calculator.resetFlag = true;
return;
}
if (pressedButton.equals("sqrt")) {
double totalVal = Math.sqrt(Double.parseDouble
(calculator.displayField.getText()));
System.out.println("sqrt(" +
calculator.displayField.getText() + ") = " + totalVal);
calculator.displayField.setText("" + totalVal);
return;
}
if (pressedButton.equals("1/x")) {
double totalVal = 1 / Double.parseDouble
(calculator.displayField.getText());
System.out.println("1 / " + calculator.displayField.getText
() + " = " + totalVal);
calculator.displayField.setText("" + totalVal);
return;
}
calculator.displayField.setText(pressedButton);
}
}