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
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….
Deja un comentario