Disable Dword, Word, Byte, but keep the buttons there. Also, no interaction of t
ID: 3795819 • Letter: D
Question
Disable Dword, Word, Byte, but keep the buttons there. Also, no interaction of the mouse on the binary bits area is required. Just display 64 bits for all the items with appropriate bits filled in based on the value in the number field.
Calculator View Edit Help 0000 0000 0000 0000 0000 0000 0000 0000 47 32 0000 0000 0000 0000 0000 0000 0000 0000 31 quot Mod A Hex Dec B CE C i v Oct Bin 7 8 9 D 4 5 6 1/x o Qword Dword 1 2 3 Word Byte Menu items View Hide and Show the calculator Edit Copy the Text Help Perform the same as the actual Windows calculatorExplanation / Answer
//MyCalculatorFrame.java
import javax.swing.*;
import java.awt.BorderLayout;
import javax.swing.GroupLayout;
import javax.swing.GroupLayout.Alignment;
import java.awt.event.*;
public class MyCalculatorFrame 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 //////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
MyCalculatorFrame(){
////////////////////////////////////////////////////////// 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();
}
}
===============================================================================
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.