Question: In java Create a GUI application for a calculator that can perform log cal operations such as And, Or , Xor, Not, Shift Left, and

In java Create a GUI application for a calculator that can perform logcal operations such as And, Or, Xor, Not, Shift Left, and Shift Right. The calculator includes buttons 0 to 9, plus buttons labeled A, B, C, D, E, and F for entering a number in hexadecimal format. The user can select the input number radix from Binary, Decimal, or Hexadecimal from three radio buttons. If the Binary radio button is selected, only buttons 0 and 1 should be enabled and all the others should be disabled. if the Decimal radio button is selected, buttons labeled A, B, C, D, E, and F should be disabled. Check the following sample layout of the project (check the Microsoft Calculator application in programmer mode for more details)
our professor gave this code as an example please dont copy paste the answers from chatgpt or other answers
User
class calculator extends JFrame implements ActionListener {
// create a frame
static JFrame f;
// create a textfield
static JTextField l;
// store oprerator and operands
String s0, s1, s2;
// default constrcutor
calculator()
{
s0= s1= s2="";
f = new JFrame("calculator");
// try {
// set look and feel
// UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
//}
// catch (Exception e){
// System.err.println(e.getMessage());
//}
// create a object of class
// create a textfield
l = new JTextField(16);
// set the textfield to non editable
l.setEditable(false);
// create number buttons and some operators
JButton b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, ba, bs, bd, bm, be, beq, beq1;
// create number buttons
b0= new JButton("0");
b1= new JButton("1");
b2= new JButton("2");
b3= new JButton("3");
b4= new JButton("4");
b5= new JButton("5");
b6= new JButton("6");
b7= new JButton("7");
b8= new JButton("8");
b9= new JButton("9");
// equals button
beq1= new JButton("=");
// create operator buttons
ba = new JButton("+");
bs = new JButton("-");
bd = new JButton("/");
bm = new JButton("*");
beq = new JButton("C");
// create . button
be = new JButton(".");
// create a panel
JPanel p = new JPanel();
// add action listeners
bm.addActionListener(this);
bd.addActionListener(this);
bs.addActionListener(this);
ba.addActionListener(this);
b9.addActionListener(this);
b8.addActionListener(this);
b7.addActionListener(this);
b6.addActionListener(this);
b5.addActionListener(this);
b4.addActionListener(this);
b3.addActionListener(this);
b2.addActionListener(this);
b1.addActionListener(this);
b0.addActionListener(this);
be.addActionListener(this);
beq.addActionListener(this);
beq1.addActionListener(this);
// add elements to panel
p.add(l);
p.add(ba);
p.add(b1);
p.add(b2);
p.add(b3);
p.add(bs);
p.add(b4);
p.add(b5);
p.add(b6);
p.add(bm);
p.add(b7);
p.add(b8);
p.add(b9);
p.add(bd);
p.add(be);
p.add(b0);
p.add(beq);
p.add(beq1);
// set Background of panel
p.setBackground(Color.GRAY);
// add panel to frame
f.add(p);
f.setSize(200,220);
f.show();
}
// main function
public void actionPerformed(ActionEvent e)
{
String s = e.getActionCommand();
// if the value is a number
if ((s.charAt(0)>='0' && s.charAt(0)<='9')|| s.charAt(0)=='.'){
// if operator is present then add to second operand
if (!s1.equals(""))
s2= s2+ s;
else
s0= s0+ s;
// set the value of text
l.setText(s0+ s1+ s2);
}
else if (s.charAt(0)=='C'){
// clear the one letter
s0= s1= s2="";
// set the value of text
l.setText(s0+ s1+ s2);
}
else if (s.charAt(0)=='='){
double te;
// store the value in 1st
if (s1.equals("+"))
te =(Double.parseDouble(s0)+ Double.parseDouble(s2));
else if (s1.equals("-"))
te =(Double.parseDouble(s0)- Double.parseDouble(s2));
else if (s1.equals("/"))
te =(Double.parseDouble(s0)/ Double.parseDouble(s2));
else
te =(Double.parseDouble(s0)* Double.parseDouble(s2));
// set the value of text
l.setText(s0+ s1+ s2+"="+ te);
// convert it to string
s0= Double.toString(te);
s1= s2="";
}
else {
// if there was no operand
if (s1.equals("")|| s2.equals(""))
s1= s;
// else evaluate
else {
double te;
// store the value in 1st
if (s1.equals("+"))
te =(Double.parseDouble(s0)+ Double.parseDouble(s2));
else if (s1.equals("-"))
te =(Double.parseDouble(s0)- Double.parseDouble(s2));
else if (s1.equals("/"))
te =(Double.parseDouble(s0)/ Double.parseDouble(s2));
else
te =(Double.parseDouble(s0)* Double.parseDouble(s2));
// convert it to string
s0= Double.toString(te);
// place the operator
s1= s;
// make the operand blank
s2="";
}
// set the value of text
l.setText(s0+ s1+ s2);
}
}
}
import java.awt.event.*;
import javax.swing.*;
import java.awt.*;
class Main {
public static void main(String[] args){
// create a frame
calculator c = new calculator

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!