Link to home
Start Free TrialLog in
Avatar of Nathan Ramos
Nathan Ramos

asked on

Need help aligning JRadioButton that put in a box using GridBagLayout

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.GridLayout;
import java.awt.Insets;
import java.awt.color.ColorSpace;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.Container;
import java.awt.event.ActionEvent;

import javax.swing.BorderFactory;
import javax.swing.Box;
import javax.swing.BoxLayout;
import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.border.Border;
 
 
public  class Calculator extends JPanel{
    
       public static final long serialVersionUID = 1L;
       
        private static final int WIDTH = 600;
        private static final int HIGHT = 535;   
        
        private JButton btn0, btn1,btn2,btn3,btn4,btn5,btn6,btn7,btn8,btn9,btnA,btnB,btnC,btnD,btnE,btnF,backSpace,btnBlank,
                        btnBlank1,btnBlank2,btnBlank3,btnBlank4,btnBlank5,btnBlank6,btnBlank7,btnBlank8,btnBlank9,
                        btnBlank10, btnBlank11,btnBlank12,btnBlank13,btnBlank14, btnQuot,btnMod,
                        btnCE, btnClear, btnPlusMinus, btnSqrt, btnDivid, btnPercent, btnMult, btn1_OverX, btnMinus, btnEquals,
                        btnDecimal, btnPlus;
        private JRadioButton hexRadio, decRadio, octRadio, binRadio;
        private ButtonGroup group;
        private JTextField outputField;
                        
        private String stemp1, stemp2, sAnswer;
        private boolean equalsClicked, opChosen;
        private String operand1 = "";
        private String operand2 = "";
        private String operator = "";
        
        
        private JPanel MainPanel = new JPanel();
        private JPanel OutputPanel = new JPanel();
        private JPanel BinaryPanel = new JPanel();
        private JPanel ButtonsPanel = new JPanel();
        
        private ActionListener NumberTapped = new ActionListener() {

            @Override
            public void actionPerformed (ActionEvent e) {
            //	JOptionPane.showMessageDialog(null, "Number tapped");
            	
                JButton src = (JButton) e.getSource();
                
                String numberSelected = "";
                if (src.equals(btn0))
                    numberSelected = "0";
                else if (src.equals(btn1))
                    numberSelected = "1";
                else if (src.equals(btn2))
                    numberSelected = "2";
                else if (src.equals(btn3))
                    numberSelected = "3";
                else if (src.equals(btn4))
                    numberSelected = "4";
                else if (src.equals(btn5))
                    numberSelected = "5";
                else if (src.equals(btn6))
                    numberSelected = "6";
                else if (src.equals(btn7))
                    numberSelected = "7";
                else if (src.equals(btn8))
                    numberSelected = "8";
                else if (src.equals(btn9))
                    numberSelected = "9";
                else if (src.equals(btnA))
                    numberSelected = "1010"; 
                else if (src.equals(btnB))
                    numberSelected = "1011"; 
                else if (src.equals(btnC))
                    numberSelected = "1100"; 
                else if (src.equals(btnD))
                    numberSelected = "1101"; 
                else if (src.equals(btnE))
                    numberSelected = "1110"; 
                else if (src.equals(btnF))
                    numberSelected = "1111"; 
                
                    
                    
                //if the operator hasnt been set, then append the number onto operand1
                //***remember, once the = (equals) button is pushed, operator, operand1, and operator2 need to be reset to empty strings
                if (operator.equals("") && operand1.equals("")) {
                    operand1 = operand1 + numberSelected;
                    outputField.setText(operand1);
                } else if (!operator.equals(""))  {//else if the operator has been set, then append the number onto operand2
                    operand2 = operand2 + numberSelected;
                    outputField.setText(operand2);
                }
            }    
            
        };
        
        private ActionListener OperatorTapped = new ActionListener() {

            @Override
            public void actionPerformed (ActionEvent e) {
                //JOptionPane.showMessageDialog(null, "Operator tapped");
                
                JButton src = (JButton)e.getSource();
                
                if (src.equals(btnPlus))
                    operator = "+";
                else if (src.equals(btnMinus))
                    operator =  "-";
                else if (src.equals(btnDivid))
                    operator = "/";
                else if (src.equals(btnMult))
                    operator =  "*";
                else if (src.equals(btnPlusMinus))
                    operator = "+/-";
                else if (src.equals(btnPercent))
                    operator =  "%";
                else if (src.equals(btnSqrt))
                    operator =  "sqrt";
                else if (src.equals(btnCE)) {
                    if (operator.equals("")) {
                        operand1 = operand1.substring(0, operand1.length()-2);
                        outputField.setText(operand1);
                    } else if (!operator.equals("")) {
                        operand2 = operand2.substring(0, operand2.length()-2);
                        outputField.setText(operand2);
                    }
                }  
               
            }
        };
            
        private ActionListener EqualsTapped = new ActionListener() {

            @Override
            public void actionPerformed (ActionEvent e) {
               // JOptionPane.showMessageDialog(null, "Equals tapped");
                
                String result = "";
                
                if (!operand1.equals("") && !operand2.equals("") && !operator.equals("")) {
                    double op1 = Double.parseDouble(operand1);
                    double op2 = Double.parseDouble(operand2);
                    
                    if (operator.equals("+"))
                        result = Double.toString(op1 + op2);
                    else if (operator.equals("-"))
                        result = Double.toString(op1 - op2);
                    else if (operator.equals("*"))
                        result = Double.toString(op1 * op2);
                    else if (operator.equals("sqrt"))
                        result = Double.toString(Math.sqrt(op1));
                    
                    else if (operator.equals("/")) {
                        if (operand2.equals("0"))
                            result = "DBZERR"; //divide by zero error
                        else
                            result = Double.toString(op1 / op2);
                    }  
                    
                    operand1 = result;
                    operand2 = "";
                    operator = "";
                } 
                 
                 
                outputField.setText(result);   
            }
        };
        
        private ActionListener ClearTapped = new ActionListener() {

            @Override
            public void actionPerformed (ActionEvent e) {
               // JOptionPane.showMessageDialog(null, "Clear tapped");
            
                outputField.setText("");
        
                operand1 = "";
                operand2 = "";
                operator = "";
            }
        };
        
        public Calculator(){
                        
                this.setPreferredSize(new Dimension(WIDTH, HIGHT));
                MainPanel.setLayout(new BoxLayout(MainPanel,BoxLayout.PAGE_AXIS));
                this.add(MainPanel);              
        
                
                OutputPanel.setLayout(new BorderLayout());
                BinaryPanel.setLayout(new BorderLayout());
                ButtonsPanel.setLayout(new GridBagLayout());
                
                MainPanel.add(OutputPanel);
                MainPanel.add(BinaryPanel);
                MainPanel.add(ButtonsPanel);
                
                outputField = new JTextField(null, 38);
                outputField.setPreferredSize(new Dimension(10,60));  
                outputField.setHorizontalAlignment(JTextField.RIGHT);
                outputField.setEditable(false);
                OutputPanel.add(outputField);
                
                JTextArea binaryArea = new JTextArea(2,1);
                binaryArea.setText(" 0000       0000       0000       0000       0000       0000       0000       0000"
                                +  "\n 63                     47                      32"
                                +  "\n 0000       0000       0000       0000       0000       0000       0000       0000"
                                +  "\n 31                     15                        0"
                        );
                binaryArea.setEditable(false);           
                BinaryPanel.add(binaryArea);
                
                GridBagConstraints gbConstraints = new GridBagConstraints();
             
                hexRadio = new JRadioButton("Hex");
                decRadio = new JRadioButton("Dec");
                octRadio = new JRadioButton("Oct");
                binRadio = new JRadioButton("Bin");
                Box sizeBox = Box.createVerticalBox();
                gbConstraints.fill = GridBagConstraints.CENTER;
                
                group = new ButtonGroup();
                group.add(hexRadio);
                group.add(decRadio);
                group.add(octRadio);
                group.add(binRadio);
                
                sizeBox.add(hexRadio);
                sizeBox.add(decRadio);
                sizeBox.add(octRadio);
                sizeBox.add(binRadio);
              
//                gbConstraints.gridx = 0;
//                gbConstraints.gridy = 3;
//                gbConstraints.gridwidth = 2;
//                gbConstraints.gridheight = 1;
                


                Border groupBorder = BorderFactory.createRaisedBevelBorder();
                sizeBox.setBorder(groupBorder);
                
                ButtonsPanel.add(sizeBox, gbConstraints);
               
//                gbConstraints.gridx = 0;
//                gbConstraints.gridy = 0;
//                ButtonsPanel.add(sizeBox, gbConstraints);
//                ButtonsPanel.add(hexRadio, gbConstraints);
//                gbConstraints.gridx = 0;
//                gbConstraints.gridy = 1;
//                ButtonsPanel.add(sizeBox, gbConstraints);
//                ButtonsPanel.add(decRadio, gbConstraints);
//                gbConstraints.gridx = 0;
//                gbConstraints.gridy = 2;
//                ButtonsPanel.add(sizeBox, gbConstraints);
//                ButtonsPanel.add(octRadio, gbConstraints);
//                gbConstraints.gridx = 0;
//                gbConstraints.gridy = 3;
//                ButtonsPanel.add(sizeBox, gbConstraints);
//                ButtonsPanel.add(binRadio, gbConstraints);
                
                
                               
                btnQuot = new JButton("Quot");
                btnQuot.setPreferredSize(new Dimension(55, 45));
                gbConstraints.fill = GridBagConstraints.CENTER;
                gbConstraints.gridx = 1;
                gbConstraints.gridy = 0;
                //btnQuot.addActionListener(this);
                ButtonsPanel.add(btnQuot, gbConstraints);
                
                
                btnMod = new JButton("Mod");
                btnMod.setPreferredSize(new Dimension(55, 45));
                gbConstraints.fill = GridBagConstraints.CENTER;
                gbConstraints.gridx = 2;
                gbConstraints.gridy = 0;
                //btnMod.addActionListener(this);
                ButtonsPanel.add(btnMod, gbConstraints);
                
                btnA = new JButton("A");
                btnA.setPreferredSize(new Dimension(45, 45));
                gbConstraints.fill = GridBagConstraints.CENTER;
                gbConstraints.gridx = 3;
                gbConstraints.gridy = 0;
                //btnA.addActionListener(this);
                ButtonsPanel.add(btnA, gbConstraints);
                
                btnBlank = new JButton("");
                btnBlank.setPreferredSize(new Dimension(45, 45));
                gbConstraints.fill = GridBagConstraints.CENTER;
                gbConstraints.gridx = 4;
                gbConstraints.gridy = 0;
                ButtonsPanel.add(btnBlank, gbConstraints);
                
                btnBlank1 = new JButton("");
                btnBlank1.setPreferredSize(new Dimension(45, 45));
                gbConstraints.fill = GridBagConstraints.CENTER;
                gbConstraints.gridx = 5;
                gbConstraints.gridy = 0;
                ButtonsPanel.add(btnBlank1, gbConstraints);
                
                btnBlank2 = new JButton("");
                btnBlank2.setPreferredSize(new Dimension(45, 45));
                gbConstraints.fill = GridBagConstraints.CENTER;
                gbConstraints.gridx = 6;
                gbConstraints.gridy = 0;
                ButtonsPanel.add(btnBlank2, gbConstraints);
                
                btnBlank3 = new JButton("");
                btnBlank3.setPreferredSize(new Dimension(45, 45));
                gbConstraints.fill = GridBagConstraints.CENTER;
                gbConstraints.gridx = 7;
                gbConstraints.gridy = 0;
                ButtonsPanel.add(btnBlank3, gbConstraints);
                    
                btnBlank4 = new JButton("");
                btnBlank4.setPreferredSize(new Dimension(45, 45));
                gbConstraints.fill = GridBagConstraints.CENTER;
                gbConstraints.gridx = 8;
                gbConstraints.gridy = 0;
                ButtonsPanel.add(btnBlank4, gbConstraints);
                  
                btnBlank5 = new JButton("");
                btnBlank5.setPreferredSize(new Dimension(45, 45));
                gbConstraints.fill = GridBagConstraints.CENTER;
                gbConstraints.gridx = 1;
                gbConstraints.gridy = 1;
                ButtonsPanel.add(btnBlank5, gbConstraints);
                
                btnBlank6 = new JButton("");
                btnBlank6.setPreferredSize(new Dimension(45, 45));
                gbConstraints.fill = GridBagConstraints.CENTER;
                gbConstraints.gridx = 2;
                gbConstraints.gridy = 1;
                ButtonsPanel.add(btnBlank6, gbConstraints);
                
                btnB = new JButton("B");
                btnB.setPreferredSize(new Dimension(45, 45));
                gbConstraints.fill = GridBagConstraints.CENTER;
                gbConstraints.gridx = 3;
                gbConstraints.gridy = 1;
                //btnB.addActionListener(this);
                
                ButtonsPanel.add(btnB, gbConstraints);
                
                backSpace = new JButton("←");
                backSpace.setPreferredSize(new Dimension(45, 45));
                gbConstraints.fill = GridBagConstraints.CENTER;
                gbConstraints.gridx = 4;
                gbConstraints.gridy = 1;
                //backSpace.addActionListener(this);
                ButtonsPanel.add(backSpace, gbConstraints);
                
                btnCE = new JButton("CE");
                btnCE.setPreferredSize(new Dimension(45, 45));
                gbConstraints.fill = GridBagConstraints.CENTER;
                gbConstraints.gridx = 5;
                gbConstraints.gridy = 1;
                //btnCE.addActionListener(this);
                ButtonsPanel.add(btnCE, gbConstraints);
                                   
                btnClear = new JButton("C");
                btnClear.setPreferredSize(new Dimension(45, 45));
                gbConstraints.fill = GridBagConstraints.CENTER;
                gbConstraints.gridx = 6;
                gbConstraints.gridy = 1;
                btnClear.addActionListener(ClearTapped);
                ButtonsPanel.add(btnClear, gbConstraints);
                
                btnPlusMinus = new JButton("+/-");
                btnPlusMinus.setPreferredSize(new Dimension(55, 45));
                gbConstraints.fill = GridBagConstraints.CENTER;
                gbConstraints.gridx = 7;
                gbConstraints.gridy = 1;
                //btnPlusMinus.addActionListener(this);
                ButtonsPanel.add(btnPlusMinus, gbConstraints);
                
                btnSqrt = new JButton("√");
                btnSqrt.setPreferredSize(new Dimension(45, 45));
                gbConstraints.fill = GridBagConstraints.CENTER;
                gbConstraints.gridx = 8;
                gbConstraints.gridy = 1;
                //btnSqrt.addActionListener(this);
                ButtonsPanel.add(btnSqrt, gbConstraints);
                
                btnBlank7 = new JButton("");
                btnBlank7.setPreferredSize(new Dimension(45, 45));
                gbConstraints.fill = GridBagConstraints.CENTER;
                gbConstraints.gridx = 1;
                gbConstraints.gridy = 2;
                ButtonsPanel.add(btnBlank6, gbConstraints);
                
                btnBlank8 = new JButton("");
                btnBlank8.setPreferredSize(new Dimension(45, 45));
                gbConstraints.fill = GridBagConstraints.CENTER;
                gbConstraints.gridx = 2;
                gbConstraints.gridy = 2;
                ButtonsPanel.add(btnBlank8, gbConstraints);
                
                btnC = new JButton("C");
                btnC.setPreferredSize(new Dimension(45, 45));
                gbConstraints.fill = GridBagConstraints.CENTER;
                gbConstraints.gridx = 3;
                gbConstraints.gridy = 2;
                //btnC.addActionListener(this);
                ButtonsPanel.add(btnC, gbConstraints);
                      
                btn7 = new JButton("7");
                btn7.setPreferredSize(new Dimension(45, 45));
                gbConstraints.fill = GridBagConstraints.CENTER;
                gbConstraints.gridx = 4;
                gbConstraints.gridy = 2;
                btn7.addActionListener(NumberTapped);
                ButtonsPanel.add(btn7, gbConstraints);
            
                btn8 = new JButton("8");
                btn8.setPreferredSize(new Dimension(45, 45));
                gbConstraints.fill = GridBagConstraints.CENTER;
                gbConstraints.gridx = 5;
                gbConstraints.gridy = 2;
                btn8.addActionListener(NumberTapped);
                ButtonsPanel.add(btn8, gbConstraints);
                                   
                btn9 = new JButton("9");
                btn9.setPreferredSize(new Dimension(45, 45));
                gbConstraints.fill = GridBagConstraints.CENTER;
                gbConstraints.gridx = 6;
                gbConstraints.gridy = 2;
                btn9.addActionListener(NumberTapped);
                ButtonsPanel.add(btn9, gbConstraints);
                
                btnDivid = new JButton("/");
                btnDivid.setPreferredSize(new Dimension(45, 45));
                gbConstraints.fill = GridBagConstraints.CENTER;
                gbConstraints.gridx = 7;
                gbConstraints.gridy = 2;
                btnDivid.addActionListener(OperatorTapped);
                ButtonsPanel.add(btnDivid, gbConstraints);
                
                btnPercent = new JButton("%");
                btnPercent.setPreferredSize(new Dimension(45, 45));
                gbConstraints.fill = GridBagConstraints.CENTER;
                gbConstraints.gridx = 8;
                gbConstraints.gridy = 2;
                //btnPercent.addActionListener(this);
                ButtonsPanel.add(btnPercent, gbConstraints);
                
                btnBlank9 = new JButton("");
                btnBlank9.setPreferredSize(new Dimension(45, 45));
                gbConstraints.fill = GridBagConstraints.CENTER;
                gbConstraints.gridx = 1;
                gbConstraints.gridy = 3;
                ButtonsPanel.add(btnBlank9, gbConstraints);
                
                btnBlank10 = new JButton("");
                btnBlank10.setPreferredSize(new Dimension(45, 45));
                gbConstraints.fill = GridBagConstraints.CENTER;
                gbConstraints.gridx = 2;
                gbConstraints.gridy = 3;
                ButtonsPanel.add(btnBlank10, gbConstraints);
                
                btnD = new JButton("D");
                btnD.setPreferredSize(new Dimension(45, 45));
                gbConstraints.fill = GridBagConstraints.CENTER;
                gbConstraints.gridx = 3;
                gbConstraints.gridy = 3;
                //btnD.addActionListener(this);
                ButtonsPanel.add(btnD, gbConstraints);
                
                
                btn4 = new JButton("4");
                btn4.setPreferredSize(new Dimension(45, 45));
                gbConstraints.fill = GridBagConstraints.CENTER;
                gbConstraints.gridx = 4;
                gbConstraints.gridy = 3;
                btn4.addActionListener(NumberTapped);
                ButtonsPanel.add(btn4, gbConstraints);
                
                btn5= new JButton("5");
                btn5.setPreferredSize(new Dimension(45, 45));
                gbConstraints.fill = GridBagConstraints.CENTER;
                gbConstraints.gridx = 5;
                gbConstraints.gridy = 3;
                btn5.addActionListener(NumberTapped);
                ButtonsPanel.add(btn5, gbConstraints);
                                   
                btn6 = new JButton("6");
                btn6.setPreferredSize(new Dimension(45, 45));
                gbConstraints.fill = GridBagConstraints.CENTER;
                gbConstraints.gridx = 6;
                gbConstraints.gridy = 3;
                btn6.addActionListener(NumberTapped);
                ButtonsPanel.add(btn6, gbConstraints);
                
                btnMult = new JButton("*");
                btnMult.setPreferredSize(new Dimension(45, 45));
                gbConstraints.fill = GridBagConstraints.CENTER;
                gbConstraints.gridx = 7;
                gbConstraints.gridy = 3;
                btnMult.addActionListener(OperatorTapped);
                ButtonsPanel.add(btnMult, gbConstraints);
                
                btn1_OverX = new JButton("1/x");
                btn1_OverX.setPreferredSize(new Dimension(50, 45));
                gbConstraints.fill = GridBagConstraints.CENTER;
                gbConstraints.gridx = 8;
                gbConstraints.gridy = 3;
                //btn1_OverX.addActionListener(this);
                ButtonsPanel.add(btn1_OverX, gbConstraints);
                
                btnBlank11 = new JButton("");
                btnBlank11.setPreferredSize(new Dimension(45, 45));
                gbConstraints.fill = GridBagConstraints.CENTER;
                gbConstraints.gridx = 1;
                gbConstraints.gridy = 4;
                ButtonsPanel.add(btnBlank11, gbConstraints);
                
                btnBlank12 = new JButton("");
                btnBlank12.setPreferredSize(new Dimension(45, 45));
                gbConstraints.fill = GridBagConstraints.CENTER;
                gbConstraints.gridx = 2;
                gbConstraints.gridy = 4;
                ButtonsPanel.add(btnBlank12, gbConstraints);
                
                btnE = new JButton("E");
                btnE.setPreferredSize(new Dimension(45, 45));
                gbConstraints.fill = GridBagConstraints.CENTER;
                gbConstraints.gridx = 3;
                gbConstraints.gridy = 4;
                btnE.addActionListener(NumberTapped);
                ButtonsPanel.add(btnE, gbConstraints);
                
                
                btn1 = new JButton("1");
                btn1.setPreferredSize(new Dimension(45, 45));
                gbConstraints.fill = GridBagConstraints.CENTER;
                gbConstraints.gridx = 4;
                gbConstraints.gridy = 4;
                btn1.addActionListener(NumberTapped);
                ButtonsPanel.add(btn1, gbConstraints);
                
                btn2 = new JButton("2");
                btn2.setPreferredSize(new Dimension(45, 45));
                gbConstraints.fill = GridBagConstraints.CENTER;
                gbConstraints.gridx = 5;
                gbConstraints.gridy = 4;
                btn2.addActionListener(NumberTapped);
                ButtonsPanel.add(btn2, gbConstraints);
                                   
                btn3  = new JButton("3");
                btn3.setPreferredSize(new Dimension(45, 45));
                gbConstraints.fill = GridBagConstraints.CENTER;
                gbConstraints.gridx = 6;
                gbConstraints.gridy = 4;
                btn3.addActionListener(NumberTapped);
                ButtonsPanel.add(btn3, gbConstraints);
                
                btnMinus = new JButton("-");
                btnMinus.setPreferredSize(new Dimension(45, 45));
                gbConstraints.fill = GridBagConstraints.CENTER;
                gbConstraints.gridx = 7;
                gbConstraints.gridy = 4;
                btnMinus.addActionListener(OperatorTapped);
                ButtonsPanel.add(btnMinus, gbConstraints);
                
                btnEquals = new JButton("=");
                btnEquals.setPreferredSize(new Dimension(45, 45));
                gbConstraints.fill = GridBagConstraints.VERTICAL;
                gbConstraints.gridheight = 2;
                gbConstraints.gridx = 8;
                gbConstraints.gridy = 4;
                btnEquals.addActionListener(EqualsTapped);
                ButtonsPanel.add(btnEquals, gbConstraints);
                
                gbConstraints.gridheight = 1;
                
                btnBlank13 = new JButton("");
                btnBlank13.setPreferredSize(new Dimension(45, 45));
                gbConstraints.fill = GridBagConstraints.CENTER;
                gbConstraints.gridx = 1;
                gbConstraints.gridy = 5;
                ButtonsPanel.add(btnBlank13, gbConstraints);
                
                btnBlank14 = new JButton("");
                btnBlank14.setPreferredSize(new Dimension(45, 45));
                gbConstraints.fill = GridBagConstraints.CENTER;
                gbConstraints.gridx = 2;
                gbConstraints.gridy = 5;
                ButtonsPanel.add(btnBlank14, gbConstraints);
                
                btnF= new JButton("F");
                btnF.setPreferredSize(new Dimension(45, 45));
                gbConstraints.fill = GridBagConstraints.CENTER;
                gbConstraints.gridx = 3;
                gbConstraints.gridy = 5;
                //btnF.addActionListener(this);
                ButtonsPanel.add(btnF, gbConstraints);
                
                
                btn0 = new JButton("0");
                btn0.setPreferredSize(new Dimension(90, 45));
                gbConstraints.fill = GridBagConstraints.CENTER;
                gbConstraints.gridwidth = 2;
                gbConstraints.gridx = 4;
                gbConstraints.gridy = 5;
                btn0.addActionListener(NumberTapped);
                ButtonsPanel.add(btn0, gbConstraints);
                
                gbConstraints.gridwidth = 1;
                
                btnDecimal = new JButton(".");
                btnDecimal.setPreferredSize(new Dimension(45, 45));
                gbConstraints.fill = GridBagConstraints.CENTER;
                gbConstraints.gridx = 6;
                gbConstraints.gridy = 5;
                btnDecimal.addActionListener(NumberTapped);
                ButtonsPanel.add(btnDecimal, gbConstraints);
                                   
                btnPlus = new JButton("+");
                btnPlus.setPreferredSize(new Dimension(45, 45));
                gbConstraints.fill = GridBagConstraints.CENTER;
                gbConstraints.gridx = 7;
                gbConstraints.gridy = 5;
                btnPlus.addActionListener(OperatorTapped);
                ButtonsPanel.add(btnPlus, gbConstraints);        
                
    
        }        
    
    
    public static void main(String[] args){
        JFrame frame = new JFrame("My Programmer Calculator");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setResizable(false);
        frame.setLayout(new BorderLayout());
        frame.add(new Calculator(), BorderLayout.CENTER);
        frame.pack();
        frame.setLocationRelativeTo(null);
        frame.setVisible(true);
    }
        
        
}
    
        

Open in new window

Screen-Shot-2017-03-05-at-2.38.52-PM.png
Screen-Shot-2017-03-04-at-8.05.35-PM.png
Avatar of zzynx
zzynx
Flag of Belgium image

Give this a try and tell me if it helps:

       
...
        sizeBox.add(hexRadio);
        sizeBox.add(decRadio);
        sizeBox.add(octRadio);
        sizeBox.add(binRadio);

        gbConstraints.fill = GridBagConstraints.BOTH;    // Changed or new
        gbConstraints.gridx = 0;                       // Changed or new
        gbConstraints.gridy = 0;                       // Changed or new
        gbConstraints.gridheight = 3;                   // Changed or new

        Border groupBorder = BorderFactory.createRaisedBevelBorder();
        sizeBox.setBorder(groupBorder);

        ButtonsPanel.add(sizeBox, gbConstraints);

        gbConstraints = new GridBagConstraints();  // Changed or new
        btnQuot = new JButton("Quot");
        ...

Open in new window

ASKER CERTIFIED SOLUTION
Avatar of zzynx
zzynx
Flag of Belgium image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial