为什么我的GUI程序会在每次点击后显示输出?

时间:2017-04-12 02:50:40

标签: java

我应该假设我有一个GUI程序,用户可以选择最多三个他们想要购买的商品,然后选择运送速度。然后,用户单击“购买”按钮。我的程序应该输出一个摘要声明,例如: 您在常规运输中购买了这些物品:item1 item2 item3 您以快速发货方式购买了这些商品:item2 item3

我需要帮助弄清楚如何阻止我的程序输出任何东西直到最后。

我接触这些概念,请给我建议和示例!

这是我的代码:

1 个答案:

答案 0 :(得分:1)

这是因为您为每个按钮单击使用相同的代码而不检查单击了哪个按钮。另外,我的代码中没有看到购买按钮?我假设你的意思是单选按钮,但你应该使用JButton组合单选按钮。

解决这个问题的一种方法是让你的主类实现ActionListener而不是另一个类,如下所示:

public class OnlineShopping extends JFrame implements ActionListener {
    //Variable declarations
    private JButton purchaseButton;

    public OnlineShopping() {
        //Create various elements
        purchaseButton = new JButton("Purchase");
        mainPanel.add(purchaseButton);
        purchaseButton.addActionListener(this); //Add the JFrame as a listener
    }

    public void actionPerformed(ActionEvent event) {
        if (event.getSource() == purchaseButton) {
            if (regularShippingSpeedRadioButton.isSelected()) {
                //User has chosen to purchase at regular shipping
            } else if (fastShippingSpeedRadioButton.isSelected()) {
                //User has chosen to purchase at fast shipping
            }
        }
    }
}