Javalabweek 2
Javalabweek 2
Aim : To Write a Java Program that works as a simple calculator.Use a grid layout to arrange the
buttons for the digits and for the +,-,*,/ operations.Add a text field to display the result. Handle any
possible exceptions like divide by zero.
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
JFrame actualWindow;
JTextField resultTxt;
char eventFrom;
BuildCalculator() {
actualWindow.setResizable(false);
appTitle.setFont(titleFont);
expression.setFont(expressionFont);
siteTitle.setFont(expressionFont);
siteTitle.setHorizontalAlignment(SwingConstants.CENTER);
siteTitle.setForeground(Color.BLUE);
resultTxt.setBorder(null);
resultTxt.setFont(txtFont);
resultTxt.setHorizontalAlignment(SwingConstants.RIGHT);
btn_digits[i].addActionListener(this);
}
btn_plus = new JButton("+");
btn_plus.addActionListener(this);
btn_minus.addActionListener(this);
btn_mul.addActionListener(this);
btn_div.addActionListener(this);
btn_dot.addActionListener(this);
btn_equal.addActionListener(this);
btn_clear.addActionListener(this);
resultPanel.add(appTitle);
resultPanel.add(resultTxt);
resultPanel.add(expression);
buttonPanel.add(btn_digits[i]);
buttonPanel.add(btn_plus);
buttonPanel.add(btn_minus);
buttonPanel.add(btn_mul);
buttonPanel.add(btn_div);
buttonPanel.add(btn_dot);
buttonPanel.add(btn_equal);
infoPanel.add(btn_clear);
infoPanel.add(siteTitle);
actualWindow.add(resultPanel);
actualWindow.add(buttonPanel);
actualWindow.add(infoPanel);
actualWindow.setSize(300, 500);
actualWindow.setVisible(true);
@Override
eventFrom = e.getActionCommand().charAt(0);
String buildNumber;
if(Character.isDigit(eventFrom)) {
resultTxt.setText(buildNumber);
resultTxt.setText(buildNumber);
oparand_1 = Double.parseDouble(resultTxt.getText());
operator = e.getActionCommand();
resultTxt.setText("");
resultTxt.setText("");
else {
operand_2 = Double.parseDouble(resultTxt.getText());
expression.setText(expression.getText() + " " + operand_2);
switch(operator) {
if(operand_2 == 0)
throw new
ArithmeticException();
resultTxt.setText(""+(oparand_1 /
operand_2)); break;
} catch(ArithmeticException ae) {
JOptionPane.showMessageDialog(actualWindow,
"Divisor can not be ZERO");
new BuildCalculator();