Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

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

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Modern Database Management

Authors: Jeff Hoffer, Ramesh Venkataraman, Heikki Topi

13th Edition Global Edition

1292263350, 978-1292263359

More Books

Students also viewed these Databases questions

Question

What is carpal tunnel syndrome?

Answered: 1 week ago