SophiaPretty

(5)

$14/per page/Negotiable

About SophiaPretty

Levels Tought:
Elementary,Middle School,High School,College,University,PHD

Expertise:
Accounting,Algebra See all
Accounting,Algebra,Applied Sciences,Architecture and Design,Art & Design,Biology,Business & Finance,Calculus,Chemistry,Communications,Computer Science,Economics,Engineering,English,Environmental science,Essay writing Hide all
Teaching Since: Jul 2017
Last Sign in: 313 Weeks Ago, 6 Days Ago
Questions Answered: 15833
Tutorials Posted: 15827

Education

  • MBA,PHD, Juris Doctor
    Strayer,Devery,Harvard University
    Mar-1995 - Mar-2002

Experience

  • Manager Planning
    WalMart
    Mar-2001 - Feb-2009

Category > Computer Science Posted 15 Nov 2017 My Price 10.00

homework to create calculator using JAVA.

Hi I have a homework to create calculator using JAVA. I found a code in chegg but it is not complete, I need someone to create me these classes to complete the code. NumPanel, OperationsPanel, ConversionPanel, and RadioButton. The partial code and homework instructions are attached below. And I'm using Eclipse to compile it.

  • import javax.swing.*;
    import java.util.*;
    import java.awt.BorderLayout;
    import javax.swing.GroupLayout;
    import javax.swing.GroupLayout.Alignment;
    import java.awt.event.*;

    public class CalculatorFrame extends JFrame implements ActionListener{
     
       // INITALZING VARIABLES
       ResultPanel resultTextBox; // this displays the results
       NumPanel numPad; // this holds the number buttons
       OperationsPanel opPad; // this holds the operations buttons
       ConversionPanel conTextBox; // this displays the converted text
       RadioButtonPanel radioPad; // this checks what button is pressed to see what to convert
       char operation; // this tells us what operation is being used
       String num1, mSaved; // these are for memory and operation related stuff
       int saved;
       int addClicked, subClicked, multClicked, divClicked = 1;
     
       ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
       //////////////////////////////////////////////////////////// START OF CONSTRUCTOR //////////////////////////////////////////////////
       ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
     
       CalculatorFrame(){
         
           ////////////////////////////////////////////////////////// RESULT PANEL ///////////////////////////////////////////////////////
         
           resultTextBox = new ResultPanel(); // creating object textBox
           add(resultTextBox, BorderLayout.NORTH); // add the textBox NORTH of the Window
         
           ////////////////////////////////////////////////////////// CONVERSION BOX /////////////////////////////////////////////////////
         
           conTextBox = new ConversionPanel(); // creating object conversion text box
           add(conTextBox, BorderLayout.SOUTH);
         
           ////////////////////////////////////////////////////////// NUMBER PANEL ///////////////////////////////////////////////////////
         
           numPad = new NumPanel(); // create the object for the numberPad
           add(numPad); // add the numberPad
         
           GroupLayout gl_numPad = new GroupLayout(numPad); // create group layer for numberPad
           numPad.setLayout(gl_numPad); // set the numberPad to the group layer
         
           gl_numPad.setHorizontalGroup( // setting horizontal alignment
                   gl_numPad.createParallelGroup(Alignment.LEADING) // always need this
                       .addGroup(gl_numPad.createSequentialGroup() // make a row of bs, c, ce
                               .addComponent(numPad.aBtn, GroupLayout.PREFERRED_SIZE, 50, GroupLayout.PREFERRED_SIZE)
                               .addGap(10)
                               .addComponent(numPad.bBtn, GroupLayout.PREFERRED_SIZE, 50, GroupLayout.PREFERRED_SIZE)
                               .addGap(10)
                               .addComponent(numPad.btnBS, GroupLayout.PREFERRED_SIZE, 50, GroupLayout.PREFERRED_SIZE)
                               .addGap(10)   // this gap is to separate the buttons
                               .addComponent(numPad.btnCE, GroupLayout.PREFERRED_SIZE, 50, GroupLayout.PREFERRED_SIZE)
                               .addGap(10)
                               .addComponent(numPad.btnC, GroupLayout.PREFERRED_SIZE, 50, GroupLayout.PREFERRED_SIZE)
                               .addGap(10)
                       )
                       .addGroup(gl_numPad.createSequentialGroup() // make a row of 7,8,9
                               .addComponent(numPad.cBtn, GroupLayout.PREFERRED_SIZE, 50, GroupLayout.PREFERRED_SIZE)
                               .addGap(10)
                               .addComponent(numPad.dBtn, GroupLayout.PREFERRED_SIZE, 50, GroupLayout.PREFERRED_SIZE)
                               .addGap(10)
                               .addComponent(numPad.btn7, GroupLayout.PREFERRED_SIZE, 50, GroupLayout.PREFERRED_SIZE)
                               .addGap(10)
                               .addComponent(numPad.btn8, GroupLayout.PREFERRED_SIZE, 50, GroupLayout.PREFERRED_SIZE)
                               .addGap(10)
                               .addComponent(numPad.btn9, GroupLayout.PREFERRED_SIZE, 50, GroupLayout.PREFERRED_SIZE)
                       )
                       .addGroup(gl_numPad.createSequentialGroup() // make a row of 4,5,6
                               .addComponent(numPad.eBtn, GroupLayout.PREFERRED_SIZE, 50, GroupLayout.PREFERRED_SIZE)
                               .addGap(10)
                               .addComponent(numPad.fBtn, GroupLayout.PREFERRED_SIZE, 50, GroupLayout.PREFERRED_SIZE)
                               .addGap(10)
                               .addComponent(numPad.btn4, GroupLayout.PREFERRED_SIZE, 50, GroupLayout.PREFERRED_SIZE)
                               .addGap(10)
                               .addComponent(numPad.btn5, GroupLayout.PREFERRED_SIZE, 50, GroupLayout.PREFERRED_SIZE)
                               .addGap(10)
                               .addComponent(numPad.btn6, GroupLayout.PREFERRED_SIZE, 50, GroupLayout.PREFERRED_SIZE)
                       )
                       .addGroup(gl_numPad.createSequentialGroup() // make a row of 1,2,3
                               .addComponent(numPad.btnblnk1, GroupLayout.PREFERRED_SIZE, 50, GroupLayout.PREFERRED_SIZE)
                               .addGap(10)
                               .addComponent(numPad.btnblnk2, GroupLayout.PREFERRED_SIZE, 50, GroupLayout.PREFERRED_SIZE)
                               .addGap(10)
                               .addComponent(numPad.btn1, GroupLayout.PREFERRED_SIZE, 50, GroupLayout.PREFERRED_SIZE)
                               .addGap(10)
                               .addComponent(numPad.btn2, GroupLayout.PREFERRED_SIZE, 50, GroupLayout.PREFERRED_SIZE)
                               .addGap(10)
                               .addComponent(numPad.btn3, GroupLayout.PREFERRED_SIZE, 50, GroupLayout.PREFERRED_SIZE)
                       )
                       .addGroup(gl_numPad.createSequentialGroup()
                               .addComponent(numPad.btnblnk3, GroupLayout.PREFERRED_SIZE, 50, GroupLayout.PREFERRED_SIZE)
                               .addGap(10)
                               .addComponent(numPad.btnblnk4, GroupLayout.PREFERRED_SIZE, 50, GroupLayout.PREFERRED_SIZE)
                               .addGap(10)
                               .addComponent(numPad.btn0, GroupLayout.PREFERRED_SIZE, 170, GroupLayout.PREFERRED_SIZE)
                       )
           );
         
           gl_numPad.setVerticalGroup( // setting vertical alignment
                   gl_numPad.createParallelGroup(Alignment.LEADING) // always need this
                       .addGroup(gl_numPad.createSequentialGroup() // create a sequential group of 1,2,3,4,5,6,7,8,9
                               .addContainerGap()
                               .addGroup(gl_numPad.createParallelGroup(Alignment.LEADING) // but make sure 7, 8, 9 are parallel
                                       .addComponent(numPad.aBtn, GroupLayout.PREFERRED_SIZE, 50, GroupLayout.PREFERRED_SIZE)
                                       .addComponent(numPad.bBtn, GroupLayout.PREFERRED_SIZE, 50, GroupLayout.PREFERRED_SIZE)
                                       .addComponent(numPad.btnC, GroupLayout.PREFERRED_SIZE, 50, GroupLayout.PREFERRED_SIZE)
                                       .addComponent(numPad.btnCE, GroupLayout.PREFERRED_SIZE, 50, GroupLayout.PREFERRED_SIZE)
                                       .addComponent(numPad.btnBS, GroupLayout.PREFERRED_SIZE, 50, GroupLayout.PREFERRED_SIZE)
                                   )
                               .addGap(5)
                               .addGroup(gl_numPad.createParallelGroup(Alignment.LEADING) // but make sure 7, 8, 9 are parallel
                                   .addComponent(numPad.cBtn, GroupLayout.PREFERRED_SIZE, 50, GroupLayout.PREFERRED_SIZE)
                                   .addComponent(numPad.dBtn, GroupLayout.PREFERRED_SIZE, 50, GroupLayout.PREFERRED_SIZE)
                                   .addComponent(numPad.btn7, GroupLayout.PREFERRED_SIZE, 50, GroupLayout.PREFERRED_SIZE)
                                   .addComponent(numPad.btn8, GroupLayout.PREFERRED_SIZE, 50, GroupLayout.PREFERRED_SIZE)
                                   .addComponent(numPad.btn9, GroupLayout.PREFERRED_SIZE, 50, GroupLayout.PREFERRED_SIZE)
                               )
                               .addGap(5) // adds space between the buttons vertically
                               .addGroup(gl_numPad.createParallelGroup(Alignment.LEADING) // but make sure 4, 5, 6, are parallel
                                   .addComponent(numPad.eBtn, GroupLayout.PREFERRED_SIZE, 50, GroupLayout.PREFERRED_SIZE)
                                   .addComponent(numPad.fBtn, GroupLayout.PREFERRED_SIZE, 50, GroupLayout.PREFERRED_SIZE)
                                   .addComponent(numPad.btn4, GroupLayout.PREFERRED_SIZE, 50, GroupLayout.PREFERRED_SIZE)
                                   .addComponent(numPad.btn5, GroupLayout.PREFERRED_SIZE, 50, GroupLayout.PREFERRED_SIZE)
                                   .addComponent(numPad.btn6, GroupLayout.PREFERRED_SIZE, 50, GroupLayout.PREFERRED_SIZE)
                               )
                               .addGap(5)
                               .addGroup(gl_numPad.createParallelGroup(Alignment.LEADING) // but make sure 1, 2, 3, are parallel
                                   .addComponent(numPad.btnblnk1, GroupLayout.PREFERRED_SIZE, 50, GroupLayout.PREFERRED_SIZE)
                                   .addComponent(numPad.btnblnk2, GroupLayout.PREFERRED_SIZE, 50, GroupLayout.PREFERRED_SIZE)
                                   .addComponent(numPad.btn1, GroupLayout.PREFERRED_SIZE, 50, GroupLayout.PREFERRED_SIZE)
                                   .addComponent(numPad.btn2, GroupLayout.PREFERRED_SIZE, 50, GroupLayout.PREFERRED_SIZE)
                                   .addComponent(numPad.btn3, GroupLayout.PREFERRED_SIZE, 50, GroupLayout.PREFERRED_SIZE)
                               )
                               .addGap(5)
                               .addGroup(gl_numPad.createParallelGroup(Alignment.LEADING)
                                   .addComponent(numPad.btnblnk3, GroupLayout.PREFERRED_SIZE, 50, GroupLayout.PREFERRED_SIZE)
                                   .addComponent(numPad.btnblnk4, GroupLayout.PREFERRED_SIZE, 50, GroupLayout.PREFERRED_SIZE)
                                   .addComponent(numPad.btn0, GroupLayout.PREFERRED_SIZE, 50, GroupLayout.PREFERRED_SIZE)
                               )
                               .addGap(5)
                               .addGroup(gl_numPad.createParallelGroup(Alignment.LEADING) // but make sure 1, 2, 3, are parallel
                                   .addComponent(numPad.aBtn, GroupLayout.PREFERRED_SIZE, 50, GroupLayout.PREFERRED_SIZE)
                                   .addComponent(numPad.bBtn, GroupLayout.PREFERRED_SIZE, 50, GroupLayout.PREFERRED_SIZE)
                                   .addComponent(numPad.cBtn, GroupLayout.PREFERRED_SIZE, 50, GroupLayout.PREFERRED_SIZE)
                               )
                               .addGap(5)
                               .addGroup(gl_numPad.createParallelGroup(Alignment.LEADING) // but make sure 1, 2, 3, are parallel
                                   .addComponent(numPad.dBtn, GroupLayout.PREFERRED_SIZE, 50, GroupLayout.PREFERRED_SIZE)
                                   .addComponent(numPad.eBtn, GroupLayout.PREFERRED_SIZE, 50, GroupLayout.PREFERRED_SIZE)
                                   .addComponent(numPad.fBtn, GroupLayout.PREFERRED_SIZE, 50, GroupLayout.PREFERRED_SIZE)
                               )
                       )
           );
         
           // initializing actionListener for each button on the NumberPad!
           numPad.btn0.addActionListener(this);
           numPad.btn1.addActionListener(this);
           numPad.btn2.addActionListener(this);
           numPad.btn3.addActionListener(this);
           numPad.btn4.addActionListener(this);
           numPad.btn5.addActionListener(this);
           numPad.btn6.addActionListener(this);
           numPad.btn7.addActionListener(this);
           numPad.btn8.addActionListener(this);
           numPad.btn9.addActionListener(this);
           numPad.btnC.addActionListener(this);
           numPad.btnCE.addActionListener(this);
           numPad.btnBS.addActionListener(this);
           numPad.aBtn.addActionListener(this);
           numPad.bBtn.addActionListener(this);
           numPad.cBtn.addActionListener(this);
           numPad.dBtn.addActionListener(this);
           numPad.eBtn.addActionListener(this);
           numPad.fBtn.addActionListener(this);
         
           ////////////////////////////////////////////////////////// OPERATIONS PANEL ///////////////////////////////////////////////////
         
           opPad = new OperationsPanel(); // creating operation panel object
           add(opPad, BorderLayout.EAST); // adding it
         
           GroupLayout gl_opPad = new GroupLayout(opPad);
           opPad.setLayout(gl_opPad);
           gl_opPad.setHorizontalGroup( // setting horizontal alignment for operations buttons
                   gl_opPad.createParallelGroup(Alignment.LEADING)
                       .addGroup(gl_opPad.createSequentialGroup()
                               .addComponent(opPad.divButton, GroupLayout.PREFERRED_SIZE, 50, GroupLayout.PREFERRED_SIZE)
                               .addGap(10)
                               .addComponent(opPad.rootButton, GroupLayout.PREFERRED_SIZE, 50, GroupLayout.PREFERRED_SIZE)
                               .addContainerGap()
                       )
                       .addGroup(gl_opPad.createSequentialGroup()
                               .addComponent(opPad.multButton, GroupLayout.PREFERRED_SIZE, 50, GroupLayout.PREFERRED_SIZE)
                               .addGap(10)
                               .addComponent(opPad.modButton, GroupLayout.PREFERRED_SIZE, 50, GroupLayout.PREFERRED_SIZE)
                               .addGap(10)
                               .addContainerGap()
                       )
                       .addGroup(gl_opPad.createSequentialGroup()
                               .addComponent(opPad.subButton, GroupLayout.PREFERRED_SIZE, 50, GroupLayout.PREFERRED_SIZE)
                               .addGap(10)
                               .addComponent(opPad.oneoverxButton, GroupLayout.PREFERRED_SIZE, 50, GroupLayout.PREFERRED_SIZE)
                               .addContainerGap()
                       )
                       .addGroup(gl_opPad.createSequentialGroup()
                               .addComponent(opPad.addButton, GroupLayout.PREFERRED_SIZE, 50, GroupLayout.PREFERRED_SIZE)
                               .addGap(10)
                               .addComponent(opPad.pmButton, GroupLayout.PREFERRED_SIZE, 50, GroupLayout.PREFERRED_SIZE)
                               .addContainerGap()
                       )
                       .addGroup(gl_opPad.createSequentialGroup()
                               .addComponent(opPad.eButton, GroupLayout.PREFERRED_SIZE, 110, GroupLayout.PREFERRED_SIZE)
                               .addContainerGap()
                       )
         
           );
         
           gl_opPad.setVerticalGroup( // setting vertical alignment for operations buttons
                   gl_opPad.createParallelGroup(Alignment.LEADING)
                           .addGroup(gl_numPad.createSequentialGroup()
                               .addContainerGap()
                               .addGroup(gl_opPad.createParallelGroup()
                                       .addComponent(opPad.divButton, GroupLayout.PREFERRED_SIZE, 50, GroupLayout.PREFERRED_SIZE)
                                       .addComponent(opPad.rootButton, GroupLayout.PREFERRED_SIZE, 50, GroupLayout.PREFERRED_SIZE)
                               )
                               .addGap(5)
                               .addGroup(gl_opPad.createParallelGroup()
                                       .addComponent(opPad.multButton, GroupLayout.PREFERRED_SIZE, 50, GroupLayout.PREFERRED_SIZE)
                                       .addComponent(opPad.modButton, GroupLayout.PREFERRED_SIZE, 50, GroupLayout.PREFERRED_SIZE)
                               )
                               .addGap(5)
                               .addGroup(gl_opPad.createParallelGroup()
                                       .addComponent(opPad.subButton, GroupLayout.PREFERRED_SIZE, 50, GroupLayout.PREFERRED_SIZE)
                                       .addComponent(opPad.oneoverxButton, GroupLayout.PREFERRED_SIZE, 50, GroupLayout.PREFERRED_SIZE)
                               )
                               .addGap(5)
                               .addGroup(gl_opPad.createParallelGroup()
                                       .addComponent(opPad.addButton, GroupLayout.PREFERRED_SIZE, 50, GroupLayout.PREFERRED_SIZE)
                                       .addComponent(opPad.pmButton, GroupLayout.PREFERRED_SIZE, 50, GroupLayout.PREFERRED_SIZE)
                               )
                               .addGap(5)
                               .addGroup(gl_opPad.createParallelGroup()
                                       .addComponent(opPad.eButton, GroupLayout.PREFERRED_SIZE, 50, GroupLayout.PREFERRED_SIZE)
                     
                               )
                           )
           );
         
           // adding actionlisteners to each button
           opPad.pmButton.addActionListener(this);
           opPad.modButton.addActionListener(this);
           opPad.addButton.addActionListener(this);
           opPad.rootButton.addActionListener(this);
           opPad.subButton.addActionListener(this);
           opPad.oneoverxButton.addActionListener(this);
           opPad.multButton.addActionListener(this);
           opPad.divButton.addActionListener(this);
           opPad.eButton.addActionListener(this);
         
           ////////////////////////////////////////////////////////// RADIO BUTTONS ///////////////////////////////////////////////////
         
           radioPad = new RadioButtonPanel(); // creating radio button object
           add(radioPad, BorderLayout.WEST); // adding it to the calculator frame
         
       }
     
       ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
       ///////////////////////////////////////////////////////////// END OF CONSTRUCTOR ///////////////////////////////////////////////////
       ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
     
       // method that checks for which Radio Button is being selected
       public void radioButtonCheck(){
         
           // these create booleans AT THAT MOMENT to see which button is pressed
           boolean d = radioPad.decBtn.isSelected();
           boolean h = radioPad.hexBtn.isSelected();
           boolean o = radioPad.octBtn.isSelected();
           boolean b = radioPad.binBtn.isSelected();
         
           if(d == true){ // if Decimal is selected, print out the Decimal version of text in the CONVERSION BOX
               resultTextBox.setTheResult(resultTextBox.getTheNumber());
           }
           else if(h == true){ // if Hex is selected, print out the Hex version of text in the CONVERSION BOX
               int hex = Integer.parseInt(resultTextBox.getTheNumber());
               resultTextBox.setTheResult(Integer.toHexString(hex));
           }
           else if(o == true){ // if Oct is selected, print out the Octal version of text in the CONVERSION BOX
               int oct = Integer.parseInt(resultTextBox.getTheNumber());
               resultTextBox.setTheResult(Integer.toOctalString(oct));
           }
           else if(b == true){ // if Binary is selected, print out Binary version of text in the CONVERSION BOX
               int bin = Integer.parseInt(resultTextBox.getTheNumber());
               resultTextBox.setTheResult(Integer.toBinaryString(bin));
           }
         
           boolean qw = radioPad.qWordBtn.isSelected();
           boolean dw = radioPad.dWordBtn.isSelected();
           boolean wo = radioPad.wordBtn.isSelected();
     
           conTextBox.setTheResult(resultTextBox.getTheNumber(), qw, dw, wo);
       }
       // actionListener starts HERE
     
       public void actionPerformed(ActionEvent e){
         
           //// NUMBERS PANEL
         
           if(e.getSource() == numPad.btn0){ // puts number 0 as next number in the textbox
               String s = resultTextBox.getTheNumber();
               resultTextBox.setTheResult(s + "0");
           }
           else if(e.getSource() == numPad.btn1){ // puts number 1 as next number in the textbox
               String s = resultTextBox.getTheNumber();
               resultTextBox.setTheResult(s + "1");
           }
           else if(e.getSource() == numPad.btn2){ // puts number 2 as next number in the textbox
               String s = resultTextBox.getTheNumber();
               resultTextBox.setTheResult(s + "2");
           }
           else if(e.getSource() == numPad.btn3){ // puts number 3 as next number in the textbox
               String s = resultTextBox.getTheNumber();
               resultTextBox.setTheResult(s + "3");
           }
           else if(e.getSource() == numPad.btn4){ // puts number 4 as next number in the textbox
               String s = resultTextBox.getTheNumber();
               resultTextBox.setTheResult(s + "4");
           }
           else if(e.getSource() == numPad.btn5){ // puts number 5 as next number in the textbox
               String s = resultTextBox.getTheNumber();
               resultTextBox.setTheResult(s + "5");
           }
           else if(e.getSource() == numPad.btn6){ // puts number 6 as next number in the textbox
               String s = resultTextBox.getTheNumber();
               resultTextBox.setTheResult(s + "6");
           }
           else if(e.getSource() == numPad.btn7){ // puts number 7 as next number in the textbox
               String s = resultTextBox.getTheNumber();
               resultTextBox.setTheResult(s + "7");
           }
           else if(e.getSource() == numPad.btn8){ // puts number 8 as next number in the textbox
               String s = resultTextBox.getTheNumber();
               resultTextBox.setTheResult(s + "8");
           }
           else if(e.getSource() == numPad.btn9){ // puts number 9 as next number in the textbox
               String s = resultTextBox.getTheNumber();
               resultTextBox.setTheResult(s + "9");
           }
           else if(e.getSource() == numPad.btnC){ // clears text box
               resultTextBox.setTheResult(null);
               saved = 0;
           }
           else if(e.getSource() == numPad.btnCE){ //clears text box + all saved memory
               resultTextBox.setTheResult(null);
           }
           else if(e.getSource() == numPad.btnBS){
               String s = resultTextBox.getTheNumber();
               String bs = numPad.backSpace(s);
               resultTextBox.setTheResult(bs);     
           }
         
           //// OPERATIONS PANEL *** THEY REPEAT FOR ADD SUB DIV MULT ***
         
           else if(e.getSource() == opPad.addButton){
               // in case of repetition
               if(addClicked >= 1){ // checks counter
                   saved += Integer.parseInt(resultTextBox.getTheNumber());
                   resultTextBox.setTheResult(null);
                   addClicked++;
               }
               // if no repetition
               else{
                   num1 = resultTextBox.getTheNumber(); // get the number from text box
                   saved = Integer.parseInt(num1); // save that number
                   operation = '+'; // let the equal button know what the last operation was
                   resultTextBox.setTheResult(null); // clear the text box
                   addClicked++; // let the repetition checker know how many buttons
               }
           }
           else if(e.getSource() == opPad.subButton){ // this gets the subtraction of the number
               // in case of repetition
               if(subClicked >= 1){
                   saved -= Integer.parseInt(resultTextBox.getTheNumber());
                   resultTextBox.setTheResult(null);
                   subClicked++;
               }
               else{
                   num1 = resultTextBox.getTheNumber();
                   saved = Integer.parseInt(num1);
                   operation = '-';
                   resultTextBox.setTheResult(null);
                   subClicked++;
               }
           }
           else if(e.getSource() == opPad.multButton){ // this gets the multiple of the number
               // in case of repetition
               if(multClicked >= 1){
                   saved *= Integer.parseInt(resultTextBox.getTheNumber());
                   resultTextBox.setTheResult(null);
                   multClicked++;
               }
               else{
                   num1 = resultTextBox.getTheNumber();
                   saved = Integer.parseInt(num1);
                   operation = '*';
                   resultTextBox.setTheResult(null);
                   multClicked++;
               }
           }
           else if(e.getSource() == opPad.divButton){ // this gets the division of the number
               // in case of repetition
               if(divClicked > 1){
                   saved /= Integer.parseInt(resultTextBox.getTheNumber());
                   resultTextBox.setTheResult(null);
                   divClicked++;
               }
               else{
                   num1 = resultTextBox.getTheNumber();
                   saved = Integer.parseInt(num1);
                   operation = '/';
                   resultTextBox.setTheResult(null);
                   divClicked++;
               }
           }
         
           else if(e.getSource() == opPad.modButton){ // this gets the modulus of the number
               num1 = resultTextBox.getTheNumber();
               operation = '%';
               resultTextBox.setTheResult(null);
           }
           else if(e.getSource() == opPad.pmButton){ // this gets the plus or minus of the number
               String s = resultTextBox.getTheNumber();
               int n = Integer.parseInt(s) * (-1);
               resultTextBox.setTheResult(Integer.toString(n));
           }
         
           //// EQUAL BUTTON
         
           else if(e.getSource() == opPad.eButton){
               if(operation == '+'){ // if operation is addition
                   String second = resultTextBox.getTheNumber(); // get the number from the text box
                   int num2 = saved + Integer.parseInt(second); // make a variable that holds the saved number + the 2nd number
                   String result = Integer.toString(num2); // convert the result to a string
                   resultTextBox.setTheResult(result); // print string onto result text box
                   operation = ' '; // reset the operation character
                   addClicked = 0; // reset repetitive counter
                 
                   radioButtonCheck();
               }
               else if(operation == '-'){ // if operation is subtraction
                   String second = resultTextBox.getTheNumber();
                   int num2 = saved - Integer.parseInt(second);
                   String result = Integer.toString(num2);
                   resultTextBox.setTheResult(result);
                   operation = ' ';
                   subClicked = 0;
                 
                   radioButtonCheck();
               }
               else if(operation == '*'){ // if operation is multiplication
                   String second = resultTextBox.getTheNumber();
                   int num2 = saved * Integer.parseInt(second);
                   String result = Integer.toString(num2);
                   resultTextBox.setTheResult(result);
                   operation = ' ';
                   multClicked = 0;
                 
                   radioButtonCheck();
               }
               else if(operation == '/'){ // if operation is division
                   String second = resultTextBox.getTheNumber();
                   int num2 = saved / Integer.parseInt(second);
                   String result = Integer.toString(num2);
                   resultTextBox.setTheResult(result);
                   operation = ' ';
                   divClicked = 0;
                 
                   radioButtonCheck();
               }
               else if(operation == '%'){ // if operation is modulus
                   String second = resultTextBox.getTheNumber();
                   int num2 = saved % Integer.parseInt(second);
                   String result = Integer.toString(num2);
                 
                   resultTextBox.setTheResult(result);
                   operation = ' ';
                   radioButtonCheck();
               }
             
               radioButtonCheck();
           }
         
       }
     
    }
    =====================================================================
    //ResultPanel .java
    import java.awt.Font;
    import javax.swing.*;
    import javax.swing.GroupLayout.Alignment;
    import java.awt.event.*;
    public class ResultPanel extends JPanel{
     
       public JTextField resultBox;
     
       // CONSTRUCTOR IS HERE
       public ResultPanel(){
         
           resultBox = new JTextField();
           // creating the resultBox
           resultBox.setFont(new Font("Arial", Font.PLAIN, 40)); // setting the font
           resultBox.setHorizontalAlignment(SwingConstants.RIGHT); // setting the text to start from right side
         
           add(resultBox); // adding the textBox
           resultBox.setColumns(17); // set the Width to 17
         
           // found this on the internet, its to disable keys that arent numbers!
           resultBox.addKeyListener(new KeyAdapter() {
               public void keyTyped(KeyEvent e) {
               e.consume(); // ignore event
               }
               });
           }
     
       public void setTheResult(String s){
           resultBox.setText(s);
       }
     
       public String getTheNumber(){
           return resultBox.getText();
       }
     
    }

Attachments:

Answers

(5)
Status NEW Posted 15 Nov 2017 07:11 AM My Price 10.00

-----------  ----------- H-----------ell-----------o S-----------ir/-----------Mad-----------am ----------- Th-----------ank----------- yo-----------u f-----------or -----------you-----------r i-----------nte-----------res-----------t a-----------nd -----------buy-----------ing----------- my----------- po-----------ste-----------d s-----------olu-----------tio-----------n. -----------Ple-----------ase----------- pi-----------ng -----------me -----------on -----------cha-----------t I----------- am----------- on-----------lin-----------e o-----------r i-----------nbo-----------x m-----------e a----------- me-----------ssa-----------ge -----------I w-----------ill----------- be----------- qu-----------ick-----------ly

Not Rated(0)