// duynotes blog import java.util.*; import javax.swing.JFrame; // ..etc. public class OrderView extends JPanel implements Observer, ActionListener { // Controller private OrderController controller; // User-Interface Elements private JFrame frame; private JButton changePriceButton; private JButton deleteItemButton; private JTextField newPriceField; private JLabel totalLabel; private JTable groceryList; private void createUI() { // Initialize UI elements. e.g.: deleteItemButton = new JButton("Delete Item"); add(deleteItemButton); ... // Add listeners. e.g.: deleteItemButton.addActionListener(this); ... } public void update ( Observable s, Object arg ) { display(((StoreOrder) s).getItemList(),((StoreOrder) s).getPriceList()); } public OrderView(OrderController controller) { this.controller = controller; createUI(); } public void display ( ArrayList itemList, ArrayList priceList ) { // code to display order ... } public void actionPerformed(ActionEvent event) { if (event.getSource() == deleteItemButton) { controller.deleteItem(groceryList.getSelectedRow()); } else if (event.getSource() == changePriceButton) { BigDecimal newPrice = new BigDecimal(newPriceField.getText()); controller.changePrice(groceryList.getSelectedRow(),newPrice); } } }