1 
   2 /*
   3  *@autor:ejercicio 12.23 del libro como (promagramar en java de deitel 5. ed)
   4  * este si que esta chevere lo modifique para que hiciera una animacion con 
   5  *las estrellas. @modificado por:Camilo Mauricio Soto.
   6  */
   7 import java.awt.*;
   8 import java.awt.geom.GeneralPath;
   9 
  10 import javax.swing.*;
  11 class Lienzo extends Canvas {
  12         public Lienzo(){
  13                 setBackground(Color.white);
  14                 
  15         }       
  16         
  17         public void paint (Graphics g){
  18                 
  19                 int puntosX[]={55,67,109,73,83,55,27,37,1,43};
  20                 int puntosY[]={0,36,36,54,96,72,96,72,96,54,36,36};
  21                 //esto lo cambia a graphicos de dos dimensiones
  22                 Graphics2D g2d =(Graphics2D)g;
  23                 //se crea el obheto de la estrella
  24                 GeneralPath estrella = new GeneralPath();
  25                 //se establece la coordenada inicialde la ruta generqal
  26                 estrella.moveTo(puntosX[0],puntosY[0]);
  27                 //crear la estrella 
  28                 for (int cuenta=1 ; cuenta< puntosX.length; cuenta++)
  29                 estrella.lineTo(puntosX[cuenta],puntosY[cuenta]);
  30                 estrella.closePath();
  31                 g2d.translate(200,200);
  32                 //este ciclo es para que gire alrededor del origen y dibuje 
  33                 //estrellas en colores aleatorios(y de paso que de como animacion)
  34                 for (int cuenta=1 ; cuenta<= 20; cuenta++){
  35                         g2d.rotate(Math.PI/10.0);
  36                         g2d.setColor(new Color((int)(Math.random()*256),
  37                                                     (int)(Math.random()*256),
  38                                                     (int)(Math.random()*256)));
  39                 
  40                 g2d.fill(estrella);
  41                 try {
  42                         Thread.sleep(100);
  43                 }
  44                 catch(Exception e){
  45                 }
  46                 g2d.rotate(Math.PI/10.0);
  47                         g2d.setColor(new Color((int)(Math.random()*256),
  48                                                     (int)(Math.random()*256),
  49                                                     (int)(Math.random()*256)));
  50                 
  51                 g2d.fill(estrella);             
  52                 
  53                 }
  54         }
  55 }
  56 
  57 public class Estrellas {
  58         public static void main(String[] args) {
  59                 JFrame marco = new JFrame("Estrellas");
  60                 Lienzo lienzo= new Lienzo();
  61                 
  62                 marco.add(lienzo);
  63                 marco.setSize(700,700);
  64                 marco.setVisible(true);
  65         }
  66 
  67 } 

Java/Programas/EstrellasAnimada.java (last edited 2008-04-20 14:39:14 by localhost)