package edu.colorado.phet.movingman.ladybug import edu.colorado.phet.common.phetcommon.application.ApplicationConstructor import edu.colorado.phet.common.phetcommon.application.Module import edu.colorado.phet.common.phetcommon.application.PhetApplication import edu.colorado.phet.common.phetcommon.application.PhetApplicationConfig import edu.colorado.phet.common.phetcommon.application.PhetApplicationLauncher import edu.colorado.phet.common.phetcommon.model.clock.ClockAdapter import edu.colorado.phet.common.phetcommon.model.clock.ClockEvent import edu.colorado.phet.common.phetcommon.model.clock.ClockListener import edu.colorado.phet.common.phetcommon.model.clock.ConstantDtClock import edu.colorado.phet.common.piccolophet.PhetPCanvas import edu.umd.cs.piccolo.nodes.PText import edu.umd.cs.piccolo.PNode import java.awt.Color import java.awt.Font import javax.swing.JLabel object Ladybug2DApplication { class ScalaModelElement(element: Double => Unit) extends ClockAdapter { override def simulationTimeChanged(clockEvent: ClockEvent) = { element(clockEvent.getSimulationTimeChange) } } def main(args: Array[String]) = { println("started") val clock = new ScalaClock(30, 30 / 1000.0) new PhetApplicationLauncher().launchSim( new PhetApplicationConfig(args, "moving-man", "ladybug-2d"), new ApplicationConstructor() { override def getApplication(a: PhetApplicationConfig): PhetApplication = new PhetApplication(a) { addModule(new LadybugModule(clock)) } }) println("finished") } }