jueves, diciembre 20, 2007

Dibuja figuras en java

Que saludos pues bien ahora empezamos a poner las practicas que he realizado en clases de la UPP pues aca empezaremos con algo que me pidieron en una clase de programación en java que decia algo asi ... Realizar un programa que realice un pequeño tablero donde se puedan dibujar figuras gometricas como cuadrado, triangulo, circulo, estrella y un lapiz donde se ponga coordenadas iniciales x y y ,para comenzar a dibujar las fijuras, las figuras deben poder arrastrarse con el putero del mouse.....

entonces el funcionamiento es:

Doble click para seleccionar algun color en particular solo tengo 3, seleccionas coordenadas inciales para mostrar la imagen puedes menter un rango de10 80 para que puede ser visible y por ultimo doble click en cualquier palabra de la figura a dibujar, en caso que no se elija color ni las coordenadas iniciales entonces la fijura aparecera enla esquina superior izquierda y podras arrastrar la magen en cualquier parte del pequeño tablero para mejor entendimiento...Vean lo que hace

ver aca el ejemplo: aqui

More...

Pues bien ahora chequen en dato como funciona para esto hice una divicion de las clases

Clases para dibujar las figuras

  • Circunferecia
  • Estrella
  • Escribir
  • Rectangulo
  • Triangulo

Interface para implementar las clases para dibujar las figuras

  • InterfaceFigura

Clase para poder arrastrar alguna imagen sin modificar de posición ni de tamaño alguna otra figura que ya este dibujada en el tablero

  • LienzoParaArrastrarFiguras

Y aqui es el Applet para poder visualizar el tablero y dibujar las figuras

  • proyecto

Vean aca todo el chouuuu... para ver lo que hace y la relacion que tienen todas las clases generadas

import java.awt.*;
import java.applet.*;
import javax.swing.*;

public class proyecto extends Applet
{
List lista,lista2;
TextField txtx,txty; //cajas te texto para coordenadas
Color KO=Color.BLACK; //color pàra las figuras
private int ultimo_x,ultimo_y;ubica la posición del puntero
Boolean bandera=false;
LienzoParaArrastrarFiguras c = new LienzoParaArrastrarFiguras(); //aca el objeto
/**
* Construye el applet, metiendo el lienzo con las figuras.
*/
public void init()
{
lista=new List(4,false);
lista2=new List(4,false);

//añade alemenrtos a la lista
lista.addItem("Cuadrado");
lista.addItem("Triangulo");
lista.addItem("Circulo");
lista.addItem("Estrella");
lista.addItem("Lapiz");

lista2.addItem("Rojo");
lista2.addItem("Verde");
lista2.addItem("Azul");

Label labelx=new Label("X:",Label.RIGHT);
Label labely=new Label("Y:",Label.RIGHT);
txtx=new TextField(4);
txty=new TextField(4);
txtx.setText("0");
txty.setText("0");

add(lista);
add(lista2);
add(labelx);
add(txtx);
add(labely);
add(txty);
add(c);

}

public boolean action(Event evtobj, Object arg){

if(evtobj.target instanceof List)

if(arg.equals("Rojo"))
KO= Color.RED;
else if(arg.equals("Verde"))
KO= Color.GREEN;
else if(arg.equals("Azul"))
KO= Color.BLUE;

if(arg.equals("Cuadrado"))
c.addFigura(new Rectangulo(Integer.parseInt(txtx.getText()),Integer.parseInt(txty.getText()), 50, 33,KO));

if(arg.equals("Circulo"))
c.addFigura(new Circunferecia(64, 8, 22, KO));

if(arg.equals("Triangulo"))
c.addFigura(new triangulo(Integer.parseInt(txtx.getText()),Integer.parseInt(txty.getText()),KO));

if(arg.equals("Estrella"))
c.addFigura(new estrella(Integer.parseInt(txtx.getText()),Integer.parseInt(txty.getText()),KO));

if(arg.equals("Lapiz"))
bandera=true;

add(c);

return false;
}//fin init

public boolean mouseDown(Event e, int x, int y)
{//Es llamado cuando el usuario hace clic
ultimo_x=x;
ultimo_y=y; //Recuerda la llocalizacon d
return true;
}

public boolean mouseDrag(Event e, int x, int y)
{
Graphics g=getGraphics();
if(bandera=true){

c.addFigura(new escribir(ultimo_x,ultimo_y,x,y,KO));
add(c);
}
ultimo_x=x;
ultimo_y=y; //Se actualiza la posicion guardada
return true;
}

}

ahora si no entienden esto pues chequen mejor todo y bajen los archivos aca tan....

descargar

1 comentario: