/* ParticleCanvas.java */ import java.awt.*; class ParticleCanvas extends Canvas { private Particle[] particles; // = new Particle[10]; ParticleCanvas(int size) { setSize(new Dimension(size, size)); } // Intended to be called by applet synchronized void setParticles(Particle[] ps) { if (ps == null) throw new IllegalArgumentException("Cannot set null"); System.out.println( "setParticles::ps.length: " + ps.length ); particles = new Particle[ps.length]; particles = ps; } protected synchronized Particle[] getParticles() { return particles; } public void paint(Graphics g) { // override Canvas.paint Particle[] ps = getParticles(); for (int i = 0; i < ps.length; ++i) ps[i].draw(g); } }