/*
Programa para construir figuras poligonales de n lados

*/

import java.applet.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;

public class poligonos extends Applet
{
   miCanvas mc;
   Panel pnl_1;
   
   Label lbl1 = new Label ("３から360の数字を入れてください");
   TextField tf_numero = new TextField ("360");
   Button botonDibujar = new Button ("Draw");

   int n = Integer.parseInt(tf_numero.getText());   
   Point[] p = new Point[n+1];

public void init ()
{
   setBackground(Color.white);
   setLayout (new BorderLayout ());
   add ("North", pnl_1 = new Panel());
   pnl_1.setBackground(Color.pink);    
   pnl_1.add(lbl1);
   pnl_1.add(tf_numero);
   pnl_1.add(botonDibujar);

   botonDibujar.addActionListener (new java.awt.event.ActionListener ()
        {
          public void actionPerformed (ActionEvent e)
          {
            int num = Integer.parseInt(tf_numero.getText());
            do_continuar (num);
            
          }
        });
 

}   

class miCanvas extends Canvas {
  
  int tf_numero = n;
}


public void paint(Graphics g){
   int i;
   double radio = 200.0;
   
   
/*    Tengo que cargar el vector con los puntos calculados   */
    
   for (i=0; i<n+1; i++){
       double ang = 2.0*Math.PI*i/(n);
       p[i] = new Point((int) (radio*Math.cos(ang)), (int) (radio*Math.sin(ang)));
       
       } 

/*   seteo el color en azul - para las lineas y centralizacion de la figura  */

   g.setColor(Color.blue); 
   for (i=1; i<n+1; i++){
      g.drawLine(p[i-1].x + 300, p[i-1].y + 300, p[i].x + 300, p[i].y + 300);
    }

    
} 

void do_continuar (int c)
{
   n = c;
   repaint ();
 
}

}