import javax.swing.*; import java.util.*; import java.awt.Polygon; import java.awt.Dimension; import java.awt.Graphics; import java.awt.Rectangle; public class PolygonCanvas extends JPanel { private int width; private int height; private Vector polygons = new Vector(); PolygonCanvas( int w, int h ) { width = w; height = h; setPreferredSize( new Dimension( w, h )); } public void paintComponent( Graphics g ) { super.paintComponent( g ); int n = polygons.size(); for ( int i = 0; i < n; i++ ) { Polygon p = (Polygon) polygons.elementAt( i ); g.drawPolygon( p ); } } public void addPolygon( Polygon p ) { polygons.addElement( p ); Rectangle r = p.getBounds(); repaint( r.x, r.y, r.width, r.height ); } }