miércoles, 16 de marzo de 2011

Dibujar una casa

Este es un ejemplo sencillo donde se utiliza la clase JFrame que será nuestra ventana y nos auxiliamos de la clase Lienzo que hereda de la Canvas, esta nos permitirá dibujar  utilizando los métodos de la clase Graphics. Al final del código hay un enlace donde puedes descargar el archivo java.

/* @author: Daniel Edilberto Pérez Mejía miércoles, 16 de marzo de 2011 19:40 */ import javax.swing.*; import java.awt.*; public class Dibujo extends JFrame{ public Dibujo(){ super("Dibujando"); setSize(400,400); getContentPane().add(new Lienzo()); setDefaultCloseOperation(EXIT_ON_CLOSE); setVisible(true); } public static void main(String [] ar){ new Dibujo(); } } class Lienzo extends Canvas{ public void paint(Graphics g){ //Dibujando fondo negro g.setColor(Color.black); g.fillRect(0,0,getWidth(),getHeight()); //Cuadrado de la casa g.setColor(Color.yellow); g.fillRect(100,100,200,200); //Dibujando techo int x[]={100,200,300}; int y[]={100,20,100}; g.setColor(Color.red); g.fillPolygon(x,y,3); //dibujar ventana g.setColor(Color.blue); g.fillRect(120,150,40,40); //Dibujar puerta g.setColor(Color.gray); g.fillRect(180,200,40,100); } }

11 comentarios:

  1. No corre tu codigo, me salen muchas excepciones!

    ResponderEliminar
    Respuestas
    1. Que tal Blanca, las excepciones que te aparecen debe ser que alguna línea quedó comentada, de todos modos he agregado un enlace para descargar el fichero.
      Saludos.

      Eliminar
  2. Excelente ejemplo de codigo java.
    únicamente, como hago para hacer 2 poligonos, ya que me indica que el int X y int Y, ya estan definidos. Gracias por el apoyo.

    Mario Mus.

    ResponderEliminar
    Respuestas
    1. Crea otras variables para el nuevo poligono, en esta cao "x1" y "y1":
      int x1[]={100,200,100};
      int y1[]={100,150,200};
      g.setColor(Color.blue);
      g.fillPolygon(x1,y1,3);

      Eliminar
  3. como llamo un metodo con otro metodo

    ResponderEliminar
    Respuestas
    1. Hola SINACA, para llamar a otro método pueden darse varios casos:
      1. El método al que deseas llamar pertenece a la misma clase desde la cual se está llamando.
      public class A{
      public void metodoA(){ //hace algo }
      public void metodoB(){ metodoA();//Llamada }
      }

      2. El método pertenece a otro clase.
      class B{
      public void llamar(){
      A objetoA = new A();
      objetoA.metodoA();
      }
      }

      }

      Eliminar
  4. Chida tu mamada brother saque un 10 Crack Gracias!

    ResponderEliminar
  5. alguien sabe hacer un edificio con ventanas????

    ResponderEliminar