2014-11-24 7 views
-6

Это мой код для школьного проекта, я должен составить список начинок, чтобы надеть пиццу, а также выбрать размер. Все нормально, когда я нажимаю «Колбаса», «Ветчина», «Пепперони 1 $» добавляется, Когда я отмечаю Ананас, BlackOlives, Onion, GreenPepper 0.5 $. Однако, когда я отмечаю Extra Cheese, он добавляет 10.25 или что-то еще, а также кнопки размера не работают. Пожалуйста, объясните мне это D:Моя программа просто не работает, и я не знаю почему?

import javax.swing.JFrame; 
import javax.swing.JRadioButton; 
import java.awt.*; 
import javax.swing.*; 
import javax.swing.JButton; 
import javax.swing.Icon; 
import javax.swing.ImageIcon; 
import java.awt.event.ActionListener; 
import java.awt.event.ActionEvent; 


public class RealPizza2 extends JFrame { 
    public static void main(String args[]) { 

    JOptionPane.showMessageDialog(null, "Welcome to Your Pizza Place! :)", "Your Pizza Place", JOptionPane.PLAIN_MESSAGE); 
    JOptionPane.showMessageDialog(null, "Hi, Please choose from our selection of toppings", "Your Pizza Place", JOptionPane.PLAIN_MESSAGE); 
    RealPizza2 go = new RealPizza2(); 
    go.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    go.setSize(300,450); 
    go.setVisible(true); 

} 
private JLabel PS; 
private JLabel CT; 
private JButton Next; 
private JRadioButton Sausage; 
private JRadioButton Pepperoni; 
private JRadioButton Ham; 
private JRadioButton ExtraCheese; 
private JRadioButton Pineapple; 
private JRadioButton BlackOlives; 
private JRadioButton Onion; 
private JRadioButton GreenPepper; 
private JRadioButton ExtraLargePizza; 
private JRadioButton LargePizza; 
private JRadioButton MediumPizza; 
private JRadioButton SmallPizza; 
private ButtonGroup group; 

double PizzaPrice; 

    public RealPizza2(){ 
     super("Pizza Menu"); 
     setLayout(new FlowLayout()); 
     CT = new JLabel("Choose your Pizza toppings!"); 
     CT.setFont(new Font("serif", Font.BOLD, 20)); 

     PS = new JLabel("Choose your Pizza Size!"); 
     PS.setFont(new Font("serif", Font.BOLD, 20)); 

     PizzaPrice = 5; 


     Sausage = new JRadioButton ("Would you like Sausage", false); 
     Sausage.addActionListener(new ActionListener() { 
      public void actionPerformed(ActionEvent e) 
     { 
       PizzaPrice ++; 
     } 
     }); 
     Pepperoni = new JRadioButton ("Would you like Pepperoni", false); 
     Pepperoni.addActionListener(new ActionListener() { 
      public void actionPerformed(ActionEvent e) 
     { 
       PizzaPrice ++; 
     } 
     }); 
     Ham = new JRadioButton ("Would you like Ham", false); 
     Ham.addActionListener(new ActionListener() { 
      public void actionPerformed(ActionEvent e) 
     { 
       PizzaPrice ++; 
     } 
     }); 
     ExtraCheese = new JRadioButton ("Would you like ExtraCheese", false); 
     ExtraCheese.addActionListener(new ActionListener() { 
      public void actionPerformed(ActionEvent e) 
     { 
       PizzaPrice ++; 
     } 
     }); 
     Pineapple = new JRadioButton ("Would you like Pineapples", false); 
     Pineapple.addActionListener(new ActionListener() { 
      public void actionPerformed(ActionEvent e) 
     { 
       PizzaPrice += 0.5; 
     } 
     }); 
     BlackOlives = new JRadioButton ("Would you like Black Olives", false); 
     BlackOlives.addActionListener(new ActionListener() { 
      public void actionPerformed(ActionEvent e) 
     { 
       PizzaPrice += 0.5; 
     } 
     }); 
     Onion = new JRadioButton ("Would you like Onions", false); 
     Onion.addActionListener(new ActionListener() { 
      public void actionPerformed(ActionEvent e) 
     { 
       PizzaPrice += 0.5; 
     } 
     }); 
     GreenPepper = new JRadioButton ("Would you like Green Pepper", false); 
     GreenPepper.addActionListener(new ActionListener() { 
      public void actionPerformed(ActionEvent e) 
     { 
       PizzaPrice += 0.5; 
     } 
     }); 

     ExtraLargePizza = new JRadioButton ("Extra Large Pizza"); 
     ExtraCheese.addActionListener(new ActionListener() { 
      public void actionPerformed(ActionEvent e) 
     { 
       PizzaPrice += (PizzaPrice * 0.75); 
     } 
     }); 
     LargePizza = new JRadioButton("Large Pizza", false); 
     ExtraCheese.addActionListener(new ActionListener() { 
      public void actionPerformed(ActionEvent e) 
     { 
       PizzaPrice += (PizzaPrice * 0.5); 
     } 
     }); 
     MediumPizza = new JRadioButton("Medium Pizza", false); 
     ExtraCheese.addActionListener(new ActionListener() { 
      public void actionPerformed(ActionEvent e) 
     { 
       PizzaPrice += (PizzaPrice * 0.25); 
     } 
     }); 
     SmallPizza = new JRadioButton("Small Pizza", false); 
     ExtraCheese.addActionListener(new ActionListener() { 
      public void actionPerformed(ActionEvent e) 
     { 
       PizzaPrice += (PizzaPrice * 0.10); 
     } 
     }); 

     Icon P = new ImageIcon(getClass().getResource("X.png")); 
     JButton Next = new JButton ("To Receipt!", P); 
     Next.addActionListener(new ActionListener() { 
      public void actionPerformed(ActionEvent e) 
     { 
       JOptionPane.showMessageDialog(null,"$" + PizzaPrice); 
     } 
     }); 

     group = new ButtonGroup(); 
     group.add(ExtraLargePizza); 
     group.add(LargePizza); 
     group.add(MediumPizza); 
     group.add(SmallPizza); 


     add(CT); 
     add(Sausage); 
     add(Pepperoni); 
     add(Ham); 
     add(ExtraCheese); 
     add(Pineapple); 
     add(BlackOlives); 
     add(Onion); 
     add(GreenPepper); 
     add(PS); 
     add(ExtraLargePizza); 
     add(LargePizza); 
     add(MediumPizza); 
     add(SmallPizza); 
     add(Next); 

    } 
    } 
+1

'он добавляет 10.25 или что-то". *Или что-то*? Вы даже не можете задать конкретную проблему? И почему я получаю это чувство дежавю, что на прошлой неделе была задана почти идентичная версия этого вопроса ... – LittleBobbyTables

ответ

1

Вы получили это всего:

LargePizza = new JRadioButton("Large Pizza", false); 
ExtraCheese.addActionListener(new ActionListener() { 
^^^^^^^^^^^ 

За последнюю кучу ингредиентов, вы всегда ставили Слушатель на ExtraCheese, что означает каждый ингредиент ты по выбор собирается увеличить цену на сыр.