import java.awt.*;
import javax.swing.*;
import simulate.IntegratorVerlet;
import simulate.SpeciesDisks;
import simulate.P2LennardJones;
import simulate.ControllerButton;
import simulate.Simulation2D;
import simulate.Phase;
import simulate.DisplayConfiguration;
import simulate.IntegratorVelocityVerlet;
import simulate.MeterTemperature;
import simulate.DisplayToConsole;
import simulate.*;
import simulate.units.*;

/**
 * A basic extension of the javax.swing.JApplet class
 */
public class AndersenThermostatLJ extends JApplet
{
	public void init()
	{
		// Take out this line if you don't use symantec.itools.net.RelativeURL or symantec.itools.awt.util.StatusScroller
		symantec.itools.lang.Context.setApplet(this);
		
		// This line prevents the "Swing: checked access to system event queue" message seen in some browsers.
		getRootPane().putClientProperty("defeatSystemEventQueueCheck", Boolean.TRUE);
		
		// This code is automatically generated by Visual Cafe when you add
		// components to the visual environment. It instantiates and initializes
		// the components. To modify the code, only use code syntax that matches
		// what Visual Cafe can generate, or Visual Cafe may be unable to back
		// parse your Java file into its visual environment.
		//{{INIT_CONTROLS
		getContentPane().setLayout(null);
		setSize(525,374);
		simulation2D1.setLayout(null);
		getContentPane().add(simulation2D1);
		simulation2D1.setBounds(0,0,400,300);
		displayConfiguration1.setLayout(null);
		simulation2D1.add(displayConfiguration1);
		displayConfiguration1.setBounds(96,0,300,300);
		phase1.setLayout(null);
		simulation2D1.add(phase1);
		phase1.setBounds(24,204,20,40);
		phase1.add(meterTemperature1);
		meterTemperature1.setBounds(36,108,20,40);
		speciesDisks1.setLayout(null);
		simulation2D1.add(speciesDisks1);
		speciesDisks1.setBounds(60,228,20,40);
		P2LennardJones1.setCutoff(10.0);
		simulation2D1.add(P2LennardJones1);
		P2LennardJones1.setBounds(12,156,60,60);
		controllerButton1.setLayout(null);
		simulation2D1.add(controllerButton1);
		controllerButton1.setBounds(0,48,100,40);
		integratorVelocityVerlet1.setDoSleep(false);
		integratorVelocityVerlet1.setDrawTimeStep(0.001);
		integratorVelocityVerlet1.setLayout(null);
		controllerButton1.add(integratorVelocityVerlet1);
		integratorVelocityVerlet1.setBounds(0,0,20,40);
		displayToConsole1.setLayout(null);
		simulation2D1.add(displayToConsole1);
		displayToConsole1.setBounds(36,0,20,40);
		//}}
//		integratorVelocityVerlet1.setIsothermal(true);
		integratorVelocityVerlet1.setAndersenNu(1);
		DisplayBox dbox = new DisplayBox();
		simulation2D1.add(dbox);
		dbox.setBounds(0,100,100,40);
		dbox.setMeter(phase1.energy);
		dbox.setPrecision(6);
		dbox.setUnit(Joule.UNIT);
	}

	//{{DECLARE_CONTROLS
	simulate.Simulation2D simulation2D1 = new simulate.Simulation2D();
	simulate.DisplayConfiguration displayConfiguration1 = new simulate.DisplayConfiguration();
	simulate.Phase phase1 = new simulate.Phase();
	simulate.MeterTemperature meterTemperature1 = new simulate.MeterTemperature();
	simulate.SpeciesDisks speciesDisks1 = new simulate.SpeciesDisks();
	simulate.P2LennardJones P2LennardJones1 = new simulate.P2LennardJones();
	simulate.ControllerButton controllerButton1 = new simulate.ControllerButton();
	simulate.IntegratorVelocityVerlet integratorVelocityVerlet1 = new simulate.IntegratorVelocityVerlet();
	simulate.DisplayToConsole displayToConsole1 = new simulate.DisplayToConsole();
	//}}
}
