View Javadoc
1   package org.woehlke.simulation.dla.view.applet;
2   
3   import org.woehlke.simulation.dla.DiffusionLimitedAggregation;
4   import org.woehlke.simulation.dla.control.ControllerThread;
5   import org.woehlke.simulation.dla.model.Particles;
6   import org.woehlke.simulation.dla.model.Point;
7   import org.woehlke.simulation.dla.view.WorldCanvas;
8   
9   import javax.accessibility.Accessible;
10  import javax.swing.*;
11  import java.awt.*;
12  import java.awt.image.ImageObserver;
13  import java.io.Serializable;
14  
15  /**
16   * Diffusion Limited Aggregation.
17   *
18   * (C) 2006 - 2013 Thomas Woehlke.
19   * https://thomas-woehlke.blogspot.com/2016/01/diffusion-limited-aggregation.html
20   * @author Thomas Woehlke
21   *
22   * Date: 04.02.2006
23   * Time: 18:33:14
24   */
25  public class DiffusionLimitedAggregationApplet extends JApplet implements
26      ImageObserver, MenuContainer, Serializable, Accessible, DiffusionLimitedAggregation {
27  
28      static final long serialVersionUID = mySerialVersionUID;
29  
30  
31      private Label title = new Label(TITLE);
32      private ControllerThread controllerThread;
33      private WorldCanvas canvas;
34      private Particles particles;
35  
36      public void init() {
37          int scale = 2;
38          int width = 320 * scale;
39          int height = 234 * scale;
40          this.setLayout(new BorderLayout());
41          this.add(title, BorderLayout.NORTH);
42          Pointel/Point.html#Point">Point worldDimensions = new Point(width,height);
43          particles = new Particles(worldDimensions);
44          canvas = new WorldCanvas(worldDimensions,particles);
45          this.add(canvas, BorderLayout.CENTER);
46          controllerThread = new ControllerThread(canvas,particles);
47          controllerThread.start();
48      }
49  
50      public void destroy() {
51      }
52  
53      public void stop() {
54      }
55  
56      public Point getCanvasDimensions() {
57          return canvas.getWorldDimensions();
58      }
59  }