import java.awt.*; import java.awt.event.*; public class ShopFrame extends Frame implements ActionListener, WindowListener, ItemListener { void formPanel() { add(ShopPanel.clearCart); ShopPanel.clearCart.addActionListener(this); add(ShopPanel.help); ShopPanel.help.addActionListener(this); add(ShopPanel.up); ShopPanel.up.addActionListener(this); add(ShopPanel.down); ShopPanel.down.addActionListener(this); add(ShopPanel.addItem); ShopPanel.addItem.addActionListener(this); add(ShopPanel.addTenItems); ShopPanel.addTenItems.addActionListener(this); add(ShopPanel.removeItem); ShopPanel.removeItem.addActionListener(this); add(ShopPanel.removeTenItems); ShopPanel.removeTenItems.addActionListener(this); add(ShopPanel.finalizeOrder); ShopPanel.finalizeOrder.addActionListener(this); add(ShopPanel.reset); ShopPanel.reset.addActionListener(this); add(ShopPanel.listOfProducts); ShopPanel.listOfProducts.addItemListener(this); add(ShopPanel.itemChosen); add(ShopPanel.subLabel); add(ShopPanel.subTotal); setBackground(ShopPanel.backColor); //also set twice in ShopPanel addWindowListener(this); } public void windowClosing(WindowEvent e) { ShopPanel.closeWindow(); } public void windowDeiconified(WindowEvent e){} public void windowDeactivated(WindowEvent e){} public void windowActivated(WindowEvent e){} public void windowClosed(WindowEvent e) {} public void windowIconified(WindowEvent e) {} public void windowOpened(WindowEvent e) {} public void actionPerformed(ActionEvent e) { if(e.getSource() instanceof Button) { Object button = e.getSource(); if(button == ShopPanel.clearCart) { ShopPanel.clearCart(); setVisible(false); } else if(button == ShopPanel.up) ShopPanel.up(); else if(button == ShopPanel.down) ShopPanel.down(); else if(button == ShopPanel.addItem) ShopPanel.addAnItem(new Integer(1)); else if(button == ShopPanel.addTenItems) ShopPanel.addAnItem(new Integer (10)); else if(button == ShopPanel.removeItem) ShopPanel.removeAnItem(new Integer(1)); else if(button == ShopPanel.removeTenItems) ShopPanel.removeAnItem(new Integer(10)); else if(button == ShopPanel.finalizeOrder) ShopPanel.orderJump(); else if(button == ShopPanel.help) ShopPanel.helpJump(); else if(button == ShopPanel.reset) ShopPanel.resetOrder(); else return; //necessary because frame formation can trigger random button events } } public void itemStateChanged(ItemEvent e) { if(e.getSource() instanceof List) { ShopPanel.updateHeading(); } } }