mercredi 9 mars 2022

JAVA GUI - Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException: For input string: "Regular (Php 100)"

The program is supposed to compute the integer indicated for the radio button, checkbox, and combo box, but it always returns an error when I submit it.

Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException: For input string: "Regular (Php 100)"
    at java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:67)
    at java.base/java.lang.Integer.parseInt(Integer.java:668)
    at java.base/java.lang.Integer.parseInt(Integer.java:786)
    at Marte_project$5.actionPerformed(Marte_project.java:157)
    at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1972)
    at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2313)
    at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405)
    at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262)
    at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:279)




public Marte_project() {
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setBounds(100, 100, 665, 703);
    contentPane = new JPanel();
    contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
    setContentPane(contentPane);
    contentPane.setLayout(null);
    
    JLabel lblNewLabel = new JLabel("Marte's Pizza Project");
    lblNewLabel.setFont(new Font("Black Clover Font", Font.BOLD, 60));
    lblNewLabel.setBounds(80, 36, 486, 60);
    contentPane.add(lblNewLabel);
    
    JLabel lblNewLabel_1 = new JLabel("Order");
    lblNewLabel_1.setFont(new Font("Tahoma", Font.PLAIN, 20));
    lblNewLabel_1.setBounds(161, 118, 51, 25);
    contentPane.add(lblNewLabel_1);
    
    JPanel panel = new JPanel();
    panel.setBounds(193, 152, 234, 169);
    contentPane.add(panel);
    panel.setLayout(null);
    
    //start radio button
    JRadioButton rdb_regular = new JRadioButton("Regular (Php 100)");
    rdb_regular.setSelected(true);
    JRadioButton rdb_special = new JRadioButton("Special (Php 120)");
    JRadioButton rdb_super = new JRadioButton("Super Special (200)");
    
    rdb_regular.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            if(rdb_regular.isSelected()) {
                rdb_special.setSelected(false);
                rdb_super.setSelected(false);
            }
        }
    });
    rdb_regular.setFont(new Font("Tahoma", Font.PLAIN, 20));
    rdb_regular.setBounds(25, 18, 187, 33);
    panel.add(rdb_regular);
    
    
    rdb_special.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            if(rdb_special.isSelected()) {
                rdb_regular.setSelected(false);
                rdb_super.setSelected(false);
            }
        }
    });
    rdb_special.setFont(new Font("Tahoma", Font.PLAIN, 20));
    rdb_special.setBounds(25, 68, 181, 33);
    panel.add(rdb_special);
    
    
    rdb_super.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            if(rdb_super.isSelected()) {
                rdb_regular.setSelected(false);
                rdb_special.setSelected(false);
            }
        }
    });
    rdb_super.setFont(new Font("Tahoma", Font.PLAIN, 20));
    rdb_super.setBounds(25, 114, 199, 33);
    panel.add(rdb_super);
    
    JLabel lblNewLabel_2 = new JLabel("Add-ons");
    lblNewLabel_2.setFont(new Font("Tahoma", Font.PLAIN, 20));
    lblNewLabel_2.setBounds(161, 340, 73, 25);
    contentPane.add(lblNewLabel_2);
    
    JCheckBox ckb_cheese = new JCheckBox("Cheese (+Php 10)");
    ckb_cheese.setFont(new Font("Tahoma", Font.PLAIN, 20));
    ckb_cheese.setBounds(214, 372, 187, 33);
    contentPane.add(ckb_cheese);
    
    JCheckBox ckb_bacon = new JCheckBox("Bacon (+Php 15)");
    ckb_bacon.setFont(new Font("Tahoma", Font.PLAIN, 20));
    ckb_bacon.setBounds(214, 408, 177, 33);
    contentPane.add(ckb_bacon);
    
    JCheckBox ckb_pepperoni = new JCheckBox("Pepperoni (+Php 20)");
    ckb_pepperoni.setFont(new Font("Tahoma", Font.PLAIN, 20));
    ckb_pepperoni.setBounds(214, 444, 211, 33);
    contentPane.add(ckb_pepperoni);
    
    JLabel lblNewLabel_3 = new JLabel("Membership");
    lblNewLabel_3.setFont(new Font("Tahoma", Font.PLAIN, 20));
    lblNewLabel_3.setBounds(161, 495, 108, 25);
    contentPane.add(lblNewLabel_3);
    
    JComboBox cb_member = new JComboBox();
    cb_member.setFont(new Font("Tahoma", Font.PLAIN, 20));
    cb_member.setModel(new DefaultComboBoxModel(new String[] {"Yes", "No"}));
    cb_member.setBounds(300, 492, 133, 31);
    contentPane.add(cb_member);
    
    JLabel lblNewLabel_4 = new JLabel("Quantity");
    lblNewLabel_4.setFont(new Font("Tahoma", Font.PLAIN, 20));
    lblNewLabel_4.setBounds(137, 541, 75, 25);
    contentPane.add(lblNewLabel_4);
    
    txt_qtty = new JTextField();
    txt_qtty.setBounds(255, 544, 207, 26);
    contentPane.add(txt_qtty);
    txt_qtty.setColumns(10);
    
    JButton submit = new JButton("Submit");
    submit.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            int cheese, bacon, pepperoni, quantity,result,price, discount;
            String total = "";
            price = Integer.parseInt(rdb_regular.getText());
            price = Integer.parseInt(rdb_special.getText());
            price = Integer.parseInt(rdb_super.getText());
            
            cheese = Integer.parseInt(ckb_cheese.getText());
            bacon = Integer.parseInt(ckb_bacon.getText());
            pepperoni = Integer.parseInt(ckb_pepperoni.getText());
            discount = Integer.parseInt((String)cb_member.getSelectedItem());
            
            if(rdb_regular.isSelected()) {
                price = 100;
            }
            else if (rdb_special.isSelected()) {    
                price = 120;
            }
            else {
                price = 200;
            }
            
            if(ckb_cheese.isSelected()) {
                cheese = 10;
            }
            if (ckb_bacon.isSelected()) {
                bacon = 15;
            }
            if (ckb_pepperoni.isSelected()){
                pepperoni = 20;
            }
            
            cb_member.getSelectedItem();
            if(cb_member.getSelectedItem().toString().equals("Yes")) {          
                discount = -5;
            }
            
            quantity = Integer.parseInt(txt_qtty.getText());
            result = price + cheese + bacon + pepperoni + discount;
            total = "The total amount is " + result * quantity; 
            
            JOptionPane.showMessageDialog(null, total);
        }
        
    });
    submit.setFont(new Font("Tahoma", Font.PLAIN, 20));
    submit.setBounds(251, 590, 140, 40);
    contentPane.add(submit);
}

}




Aucun commentaire:

Enregistrer un commentaire