package KinematicSimulator; import java.awt.BorderLayout; /** * This class starts the Kinematic Simulator application. It creates the SimulatorViewer * window and the KinematicController windows. * * @author Helena */ public class KinematicSimulatorApp { public static void main(String[] args) { // Creates a JFrame window. SimulatorFrame 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); SimulatorController 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 ***************// KinematicController kController = new KinematicController(); kController.setKinematicEventListener( (KinematicEventListener) sController); kController.addWindowListener(sController); //****** start the infinite thread **********// sController.updateSize(sFrame.getContentPane()); sController.start(); } }