/*
Programa para construir figuras poligonales de n lados

*/

import java.applet.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.util.Vector;

public class m0104272 extends Applet
{
   miCanvas mc;
   Panel pnl_1;
  // Panel pnl_2 = new Panel ();
  // Panel pnl_3 = new Panel ();

   //Label lbl2 = new Label ("色");
   Label lbl1 = new Label ("円の数（3から360まで）");
   TextField tf_numero = new TextField ("360");
  // Choice color_circulo = new Choice ();

   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 ("Center", mc = new miCanvas ());
   add ("North", pnl_1 = new Panel());
   pnl_1.setBackground(Color.pink);
   pnl_1.add(lbl1);
   pnl_1.add(tf_numero);
   pnl_1.add(botonDibujar);
   /*setBackground(Color.white);
   setLayout (new BorderLayout ());
   add ("Center", mc = new miCanvas ());
   add ("North", pnl_1 = new Panel());
   pnl_1.setBackground(Color.pink);
   pnl_2.add(lbl1);
   pnl_2.add(tf_numero);
   pnl_2.add(botonDibujar);
   pnl_1.add (pnl_2);
   pnl_3.add (lbl2);
   color_circulo.add ("黒");
   color_circulo.add ("赤");
   color_circulo.add ("青");
   color_circulo.add ("緑");
   color_circulo.add ("黄色");
   color_circulo.add ("マグネンタ");
   color_circulo.add ("水色");
   color_circulo.add ("ピンク");
   color_circulo.add ("オレンジ色");
   pnl_3.add (color_circulo);
   pnl_1.add (pnl_3);*/


  /* color_circulo.addItemListener ( new java.awt.event.ItemListener () {
           public void itemStateChanged (ItemEvent e) {
             mc.cambiaColorCirculo (color_circulo.getSelectedIndex ());
           }
         });*/

   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 color_circulo = 0;
  int tf_numero = n;

 /* miCanvas () {
      super ();*/
  }

public void paint(Graphics g){
   double radio = 70.0;
   int i=0;
   double j;
   int r=0;
   double radio1 = 5.0;
   double x1=300+150;
   double y1=200;
   double x2,y2;
   double ang =2.0*Math.PI+0.1;

/*   switch (color_circulo) {
         case 0 : g.setColor (Color.black);
                  break;
         case 1 : g.setColor (Color.red);
                  break;
         case 2 : g.setColor (Color.blue);
                  break;
         case 3 : g.setColor (Color.green);
                  break;
         case 4 : g.setColor (Color.yellow);
                  break;
         case 5 : g.setColor (Color.magenta);
                  break;
         case 6 : g.setColor (Color.cyan);
                  break;
         case 7 : g.setColor (Color.pink);
                  break;
         case 8 : g.setColor (Color.orange);
                  break;
       }*/

    for (i=0; i<n+1; i++){
         double ang2 = 2.0*Math.PI*i/(n);
         p[i] = new Point((int) (radio*Math.cos(ang2)), (int) (radio*Math.sin(ang2)));
         g.setColor(Color.red);
	     }

     for (i=1; i<n+1; i++){
      g.drawArc(p[i-1].x + 250, p[i-1].y +250, p[i].x + 200, p[i].y + 200,0,360);
     }
    // g.setColor(Color.green);
    // g.drawLine();

      for (i=0; i<n+1; i++){
	          double ang2 = 2.0*Math.PI*i/(n);
	          p[i] = new Point((int) (radio1*Math.cos(ang2)), (int) (radio1*Math.sin(ang2)));
	      }
	      g.setColor(Color.orange);
	      for (i=1; i<n+1; i++){
	      	   g.drawArc(p[i-1].x + 175, p[i-1].y +175, p[i].x + 170, p[i].y + 170,0,100);
    	 }
}

/*public void cambiaColorCirculo (int e){
    color_circulo = e;
    repaint ();
}*/

void do_continuar (int c){
   n = c;
   repaint ();
}

}