/** * Bounce applet Controller */ import java.applet.*; import java.awt.*; import java.awt.event.*; public class Controller extends Applet { Model model = new Model (); View view = new View (); Panel buttonPanel = new Panel (); Button stepButton = new Button ("Step"); public void init () { // Lay out components setLayout (new BorderLayout ()); buttonPanel.add (stepButton); this.add (BorderLayout.SOUTH, buttonPanel); this.add (BorderLayout.CENTER, view); // Attach actions to components stepButton.addActionListener(new ActionListener () { public void actionPerformed (ActionEvent event) {model.step ();}}); // register the view as an observer of the model model.addObserver(view); // view needs to know controller to invoke setStatus view.controller=this; } // end init method public void start ( ) { model.xLimit = view.getSize ( ).width - model.BALL_SIZE; model.yLimit = view.getSize ( ).height - model.BALL_SIZE; repaint (); } // end of start method } // end of Controller class