1 /*
   2  * @autor:ejercicio 12.23 del libro de deitel(como programar en java, ed.5)
   3  * lo unico que hize fue modificarlo para la clase canvas, pero esta muy chevere
   4  * att:Camilo Mauricio Soto
   5  */
   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         public void paint (Graphics g){
  17                 
  18             int puntosX[]={55,67,109,73,83,55,27,37,1,43};
  19             int puntosY[]={0,36,36,54,96,72,96,72,96,54,36,36};
  20             //esto lo cambia a graficos de dos dimensiones
  21             Graphics2D g2d =(Graphics2D)g;
  22             //se crea el objeto de la estrella
  23             GeneralPath estrella = new GeneralPath();
  24             //se establece la coordenada inicial de la ruta generqal
  25             estrella.moveTo(puntosX[0],puntosY[0]);
  26             //crear la estrella 
  27             for (int cuenta=1 ; cuenta< puntosX.length; cuenta++)
  28             estrella.lineTo(puntosX[cuenta],puntosY[cuenta]);
  29             estrella.closePath();
  30             g2d.translate(200,200);
  31             //este ciclo es para que gire alrededor del origen y dibuje estrellas
  32             // en colores aleatorios
  33             for (int cuenta=1 ; cuenta<= 20; cuenta++){
  34                 g2d.rotate(Math.PI/10.0);
  35                 g2d.setColor(new Color((int)(Math.random()*256),
  36                                        (int)(Math.random()*256),
  37                                        (int)(Math.random()*256)));
  38                 
  39                 g2d.fill(estrella);
  40            }
  41         }
  42 }
  43 
  44 public class Estrellas {
  45         public static void main(String[] args) {
  46                 JFrame marco = new JFrame("Estrellas");
  47                 Lienzo lienzo= new Lienzo();
  48                 
  49                 marco.add(lienzo);
  50                 marco.setSize(700,700);
  51                 marco.setVisible(true);
  52         }
  53 
  54 } 

Java/Programas/Estrellas.java (last edited 2008-04-20 14:38:44 by localhost)