2017-11-28 11 views
-2

私のコード:)
私は現在、Java GUIからピザの配信を行っています。私はGUIが初めてです。
私はあまりにも多くの助けが必要ではありませんが、目標は、私が選択してオプションを選択するか選択を解除するたびに、下から順に更新され、何かが見逃されたときにユーザーにプロンプ​​トを出すプログラムを作成することです。
私は早い段階にあり、JFrameにコンテナを入れてもらうだけでなく、ボーダーで気分が良くなるようになっています(私のコンテナは、何度か変更してもjframeに表示されなくなりました。 。 誰かがなぜ私はGoogleといくつかの研究ノートを使用して、私の頭を回転させるだけの巨大な助けになる理由を説明することができる理由を私のElseステートメントが削除される理由を理解できない。すべてのifJava GUI、JFrame、アクションリスナー

package com.test; 

    import java.awt.*; 
    import javax.swing.*; 
    import java.awt.event.*; 

    public class PizzaGUI extends JFrame implements ActionListener 
    { 
     private JLabel lblTitle; 
     private JLabel lblOrder; 
     private JLabel lblSize; 
     private JLabel lblToppings; 
     private JLabel lblDelivery; 
     private JLabel lblCustomer; 
     private JCheckBox chkSmall; 
     private JCheckBox chkMedium; 
     private JCheckBox chkLarge; 
     private JCheckBox chkYes; 
     private JCheckBox chkNo; 
     private JRadioButton radHam; 
     private JRadioButton radPrawns; 
     private JRadioButton radSalami; 
     private JRadioButton radMushrooms; 
     private JRadioButton radOlives; 
     private JRadioButton radCapsicum; 
     private JRadioButton radPineapple; 
     private JTextField Name; 
     private JTextField Phoneno; 
     private JTextField Address; 
     private double p = 0.0; 

     ButtonGroup btgHtopping = new ButtonGroup(); 
     ButtonGroup btgltopping = new ButtonGroup(); 
     ButtonGroup btgSize = new ButtonGroup(); 
     ButtonGroup btgYesno = new ButtonGroup(); 

     Container size = getContentPane(); 
     Container ToppingH = getContentPane(); 
     Container ToppingL = getContentPane(); 
     Container Cust = getContentPane(); 


     size.setBorder(BorderFactory.createTitledBorder("Please select one size")); 
     ToppingH.setBorder(BorderFactory.createTitledBorder("Please select all addittional toppings $1.50")); 
     ToppingL.setBorder(BorderFactory.createTitledBorder("Please select all addittional toppings $0.50")); 
     Cust.setBorder(BorderFactory.createTitledBorder("Customer Details")); 

     public PizzaGUI() 
     { 

      radHam = new JRadioButton("Ham"); 
      radPrawns = new JRadioButton("Prawns"); 
      radSalami = new JRadioButton("Salami"); 
      radMushrooms = new JRadioButton("Mushrooms"); 
      radOlives = new JRadioButton("Olives"); 
      radCapsicum = new JRadioButton("Capsicum"); 
      radPineapple = new JRadioButton("Pineapple"); 
      chkNo = new JCheckBox("No"); 
      chkYes = new JCheckBox("Yes"); 
      chkLarge = new JCheckBox("Large"); 
      chkMedium = new JCheckBox("Medium"); 
      chkSmall = new JCheckBox("Small"); 
      lblTitle = new JLabel("Pizza Order Form"); 
      lblOrder = new JLabel(p + ""); 
      lblSize = new JLabel("Please select one size"); 
      lblToppings = new JLabel("Please select all addition toppings"); 
      lblDelivery = new JLabel("Delivery, Yes or No please choose $1.00 extra"); 
      lblCustomer = new JLabel("Customer Contact Details"); 
      Name = new JTextField(20); 
      Phoneno = new JTextField(10); 
      Address = new JTextField(50); 

      btgHtopping.add(radHam); 
      btgHtopping.add(radPrawns); 
      btgHtopping.add(radSalami); 
      btgltopping.add(radMushrooms); 
      btgltopping.add(radOlives); 
      btgltopping.add(radCapsicum); 
      btgltopping.add(radPineapple); 
      btgYesno.add(chkYes); 
      btgYesno.add(chkNo); 
      btgSize.add(chkLarge); 
      btgSize.add(chkMedium); 
      btgSize.add(chkSmall); 

      size.add(lblTitle); 
      size.add(lblSize); 
      size.add(chkYes); 
      size.add(chkNo); 
      ToppingH.add(lblToppings); 
      ToppingH.add(radHam); 
      ToppingH.add(radSalami); 
      ToppingH.add(radPrawns); 
      ToppingL.add(radMushrooms); 
      ToppingL.add(radOlives); 
      ToppingL.add(radCapsicum); 
      ToppingL.add(radPineapple); 
      Cust.add(lblDelivery); 
      Cust.add(lblCustomer); 
      Cust.add(chkYes); 
      Cust.add(chkNo); 
      Cust.add(Name); 
      Cust.add(Phoneno); 
      Cust.add(Address); 

      setLayout(new FlowLayout()); 

      radHam.addActionListener(this); 
      radPrawns.addActionListener(this); 
      radSalami.addActionListener(this); 
      radMushrooms.addActionListener(this); 
      radOlives.addActionListener(this); 
      radCapsicum.addActionListener(this); 
      radPineapple.addActionListener(this); 
      chkNo.addActionListener(this); 
      chkYes.addActionListener(this); 
      chkLarge.addActionListener(this); 
      chkSmall.addActionListener(this); 
      chkMedium.addActionListener(this); 

     } 

     public void actionPerformed(ActionListener e) 
     { 

      String order=""; 
    if (chkLarge.isSelected()) { 
     p = 8.00; 
     order = "Large"; 

    } 
    else if (chkMedium.isSelected()) { 
     p = 6.00; 
     order = "Medium"; 
    } 

    else if (chkSmall.isSelected()) { 
     p = 8.00; 
     order = "Large"; 
    } 

    if (radHam.isSelected()) { 
     p += 1.50; 
     order += "Ham"; 
    }else { 
     p += 0.00; 
     order += ""; 
    } 

    if (radPrawns.isSelected()) { 
     p += 1.50; 
     order += "Prawns"; 
    } else { 
     p += 0.00; 
     order += ""; 
    } 

    if (radSalami.isSelected()) { 
     p += 1.50; 
     order += "Salami"; 
    } else { 
     p += 0.00; 
     order += ""; 
    } 

    if (radMushrooms.isSelected()) { 
     p += 0.50; 
     order += "Mushrooms"; 
    }else{ 
     p += 0.00; 
     order += ""; 
    } 
    if (radOlives.isSelected()) { 
     p += 0.50; 
     order += "Olives"; 
    }else{ 
     p += 0.00; 
     order += ""; 
    } 
    if (radCapsicum.isSelected()) { 
     p += 0.50; 
     order += "Capsicum"; 
    }else{ 
     p += 0.00; 
     order += ""; 

     if (radPineapple.isSelected()) { 
      p += 0.50; 
      order += "Pineapple"; 
     }else { 
      p += 0.00; 
      order += ""; 
     } 
     if (chkNo.isSelected()) { 

      order += "Pick-up"; 
     } 

     if (chkYes.isSelected()) { 
      p += 1.00; 
      order += "Delivery"; 
     } 

     lblOrder.setText(order); 

     } 
    } 

答えて

1

変更はあなたがチェックしている状態に基づいて実行するアクション周りにカッコを含めることができます。例えば

chkLarge.isSelectedtrueある場合{...}ブロック、文の後の最初の行だけが実行されてアウトして、現時点では、次のコードはまだMedium

if (chkLarge.isSelected()) 
    p = 8.00; 

order = "Large"; 

if (chkMedium.isSelected()) 
    p = 8.00; 

order = "Medium"; 

orderを等しくなります。あなたがしようとしていることに明確な文脈を与えるので、中括弧を使用することが常に奨励されています。いいえ、意図は何の違いもありません。

if (chkLarge.isSelected()) { 
    p = 8.00; 
    order = "Large"; 
} else if (chkMedium.isSelected()) 
    p = 8.00; 
    order = "Medium"; 
} // Other conditions you need 
+0

ので、代わりに、コードをよりのようになります

は......、私の質問の一つに答えるために時間を割いていただき、ありがとうございます、私はそれが降りることは、むしろ基本だから投票しています理解しています。それは私がそれを逃したと信じることができない巨大な助けだった、それは私がそれを元々持っていたが、私はそれを変更したので、YouTubeのビデオの多くを残しました。 –

関連する問題