1  /*
  2   *  File:  OctagonTest2.java
  3   *
  4   *  Draw a quadrilateral inside a regular octagon (an exercise)
  5   *
  6   *  Copyright:  Northeast Parallel Architectures Center
  7   *  
  8   */
  9  
 10  import java.applet.Applet;
 11  import java.awt.Graphics;
 12  import java.awt.Color;
 13  import java.awt.Point;
 14  
 15  public class OctagonTest2 extends Applet {
 16  
 17     // create a reference to an octagon:
 18     private Octagon octagon;
 19     
 20     // create a reference to a quadrilateral:
 21     private Quadrilateral quad;
 22  
 23     // create references to eight points:
 24     private Point p1, p2, p3, p4, p5, p6, p7, p8;
 25     
 26     public void init() {
 27     
 28        // instantiate eight points (the vertices of a regular octagon):
 29        p1 = new Point(  69,  25 );
 30        p2 = new Point( 131,  25 );
 31        p3 = new Point( 175,  69 );
 32        p4 = new Point( 175, 131 );
 33        p5 = new Point( 131, 175 );
 34        p6 = new Point(  69, 175 );
 35        p7 = new Point(  25, 131 );
 36        p8 = new Point(  25,  69 );
 37        
 38        // instantiate a regular octagon:
 39        octagon = new Octagon( p1, p2, p3, p4, p5, p6, p7, p8 );
 40        
 41        // instantiate a quadrilateral inside the octagon:
 42        quad = new Quadrilateral( p1.x, p1.y, p3.x, p3.y, 
 43                                  p5.x, p5.y, p7.x, p7.y );
 44        
 45     }
 46     
 47     public void paint( Graphics g ) {
 48  
 49        // fill the octagon:
 50        g.setColor( Color.red );
 51        octagon.fill( g );
 52  
 53        // draw the quadrilateral:
 54        g.setColor( Color.yellow );
 55        quad.draw( g );
 56  
 57     }
 58     
 59  }