package KinematicSimulator; import java.awt.BorderLayout; import java.applet.Applet; /** * This is the Applet version of KinematicSimulatorApp. * * @author Helena */ public class KinematicSimulatorApplet extends Applet { SimulatorFrame sFrame; SimulatorController sController; KinematicController kController; public void start() { // Creates a JFrame window. sFrame = new SimulatorFrame(); //Creates a panel inside frame. SimulatorViewer sViewer = new SimulatorViewer(); sFrame.getContentPane().add(sViewer, BorderLayout.CENTER); sViewer.setSize( sFrame.getContentPane().getWidth(), sFrame.getContentPane().getHeight()); SimulatorModel sModel = new SimulatorModel(sViewer); sController = new SimulatorController(); sController.SetModelListener( (ModelListener) sModel, sModel.GetBallList()); sViewer.addMouseListener(sController); sViewer.addMouseMotionListener(sController); sViewer.addComponentListener(sController); sFrame.addMenuItemActionListenerForExit(sController); sFrame.addWindowListener(sController); //*****Starting KinematicController ***************// kController = new KinematicController(); kController.setKinematicEventListener( (KinematicEventListener) sController); kController.addWindowListener(sController); //****** start the infinite thread **********// sController.updateSize(sFrame.getContentPane()); sController.start(); } public void stop() { sController.stop(); } public void destroy() { sFrame.dispose(); kController.dispose(); } }