Lienzo.java

Categorías: CategoryJava | CategoryProgramacion

   1 package savetheearthsk;
   2 
   3 import java.awt.Button;
   4 import java.awt.Canvas;
   5 import java.awt.Graphics;
   6 import java.awt.Image;
   7 import java.util.ArrayList;
   8 
   9 /**
  10  * Lienzo es la agregacion de objetos graficos que se dibujan
  11  * @author Luisa Fernanda Rueda Herrera
  12  * @author George Sebastian Parra Macias
  13  */
  14 public class Lienzo extends Canvas {
  15 
  16     /**
  17      * Lista de objetos graficos
  18      */
  19     private ArrayList<ObjetoGrafico> objetos;
  20     //private ObjetoGrafico[] objeto;
  21     //private int numObjetos;
  22     private Image imagen;
  23     private Graphics g2;
  24 
  25     /**
  26      * constructora de lienzo inicializa la lista de objetos gragficos
  27      */
  28     public Lienzo() {
  29         objetos = new ArrayList<ObjetoGrafico>();
  30 
  31     }
  32 
  33     /** Dibujar los graficos
  34      * @param g es la clase base para todo contexto grafico
  35      */
  36     @Override
  37     public void paint(Graphics g) {
  38         update(g);
  39     }
  40 
  41     @Override
  42     public void update(Graphics g) {
  43         if (g2 == null) {
  44             imagen = createImage(getWidth(), getHeight());
  45             g2 = imagen.getGraphics();
  46         }
  47         g2.clearRect(0, 0, getWidth(), getHeight());
  48         /**
  49          * este for es para pintar todos los objetos
  50          */
  51         for (ObjetoGrafico objeto : objetos) {
  52             objeto.paint(g2);
  53         }
  54 
  55         g.drawImage(imagen, 0, 0, this);
  56     }
  57     /** Sincroniza objeto grafico con el linezo
  58      * @param  o es la que trae a objeto grafico
  59      */
  60     synchronized public void add(ObjetoGrafico o) {
  61 
  62         objetos.add(o);
  63 
  64         /* objeto[numObjetos]=O;
  65         numObjetos++;
  66          */
  67     }
  68 }
  69 

Java/Programas/SaveTheEarthII/Lienzo.java (last edited 2010-10-28 12:21:08 by GeorgeParra)