17f8289 Zaryab Khan OOAD - LAB6
17f8289 Zaryab Khan OOAD - LAB6
Lab#6
ZARYAB KHAN
17F8289
CalculatorGUI:
package view;
import java.awt.BorderLayout;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import controller.calculator_logic;
import javax.swing.JTextField;
import javax.swing.JButton;
import java.awt.Font;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
/**
*/
EventQueue.invokeLater(new Runnable() {
try {
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
});
/**
public calculatorGUI() {
setTitle("Basic Calculator");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setContentPane(contentPane);
contentPane.setLayout(null);
contentPane.add(txtio);
txtio.setColumns(10);
btn7.addActionListener(new ActionListener() {
});
btn7.addMouseListener(new MouseAdapter() {
@Override
txtio.setText(txtio.getText()+"7");
});
contentPane.add(btn7);
@Override
txtio.setText(txtio.getText()+"8");
});
contentPane.add(btn8);
btn9.addMouseListener(new MouseAdapter() {
@Override
txtio.setText(txtio.getText()+"9");
});
contentPane.add(btn9);
btn4.addMouseListener(new MouseAdapter() {
@Override
txtio.setText(txtio.getText()+"4");
});
btn4.addActionListener(new ActionListener() {
}
});
contentPane.add(btn4);
btn5.addMouseListener(new MouseAdapter() {
@Override
txtio.setText(txtio.getText()+"5");
});
contentPane.add(btn5);
btn6.addMouseListener(new MouseAdapter() {
@Override
txtio.setText(txtio.getText()+"6");
});
contentPane.add(btn6);
btn1.addMouseListener(new MouseAdapter() {
@Override
});
contentPane.add(btn1);
btn2.addMouseListener(new MouseAdapter() {
@Override
txtio.setText(txtio.getText()+"2");
});
contentPane.add(btn2);
btn3.addMouseListener(new MouseAdapter() {
@Override
txtio.setText(txtio.getText()+"3");
});
contentPane.add(btn3);
btn0.addMouseListener(new MouseAdapter() {
@Override
txtio.setText(txtio.getText()+"0");
});
contentPane.add(btn0);
btndot.addMouseListener(new MouseAdapter() {
@Override
if(!txtio.getText().isEmpty())
if(!txtio.getText().contains("."))
txtio.setText(txtio.getText()+".");
});
contentPane.add(btndot);
btnplus.addMouseListener(new MouseAdapter() {
@Override
if(!txtio.getText().isEmpty())
{
objCalc.setNum1(Double.parseDouble(txtio.getText()));
objCalc.setOpt('+');
txtio.setText("");
});
contentPane.add(btnplus);
btnminus.addMouseListener(new MouseAdapter() {
@Override
if(!txtio.getText().isEmpty())
objCalc.setNum1(Double.parseDouble(txtio.getText()));
objCalc.setOpt('-');
txtio.setText("");
});
contentPane.add(btnminus);
btnmultiply.addMouseListener(new MouseAdapter() {
@Override
objCalc.setNum1(Double.parseDouble(txtio.getText()));
objCalc.setOpt('x');
txtio.setText("");
});
contentPane.add(btnmultiply);
btndivide.addMouseListener(new MouseAdapter() {
@Override
if(!txtio.getText().isEmpty())
objCalc.setNum1(Double.parseDouble(txtio.getText()));
objCalc.setOpt('/');
txtio.setText("");
});
contentPane.add(btndivide);
@Override
if(!txtio.getText().isEmpty())
objCalc.setNum2(Double.parseDouble(txtio.getText()));
txtio.setText(objCalc.calculate());
});
contentPane.add(btnequal);
acbutton.addMouseListener(new MouseAdapter() {
@Override
txtio.setText("");
});
contentPane.add(acbutton);
}
Calculator code:
package controller;
// Data members
double num1;
double num2;
char opt;
//Constructor
public calculator_logic() {
super();
this.num1=0.0;
this.num2=0.0;
//Logical functions
public double addition()
{
return this.num1+this.num2;
}
}
else
return num1;
}