Sie sind auf Seite 1von 5

Yaser Quiel

4-782-1553

Tarea de modificación de Código

Clase1: MiFigura

package objeto;

//Se declaran los import a ralizar


import java.awt.Color;
import java.awt.Graphics;

public class MiFigura {


int x1 ; // coordenada del primer punto en el eje de X
int y1 ; // coordenada del primer punto en el eje de Y
int x2; // coordenada del segundo punto en el eje de X
int y2; // coordenada del segundo punto en el eje de Y
Color color; // el color de grafico (figura)
private boolean rellenar ;
private int tipoFigura;

public MiFigura(int x1 , int y1 , int x2, int y2, Color color){


//se crea metodo MiFigura el cual se reciben 4 parámetros
this.x1 = x1 ;
this.y1 = y1 ;
this.x2 = x2;
this.y2 = y2;
this.color = color ;
}
public void dibujar(Graphics g){ //el método dibujar(Crea un gráfico)
switch (getTipoFigura ()){
case 0:
g.setColor(color );
g.drawLine(x1 , y1 , x2 , y2 );// crea las líneas que recibe del metodo
break;
case 1 :
g.setColor(color ); // setea el color que corresponderá al grafico
validarCoordenadas(); // hace el llamado al metodo validarCoordenadas
if (getRellenar()) {
g.fillOval(x1 , x1 , x2 , x1 );// si entra por la parte cierta Crea un circulo relleno
}else {
g.drawOval(x1 , y1 , x2, y2);// sino crea un círculo(solo el contorno)
}
break;
Yaser Quiel
4-782-1553
}
}
public int getTipoFigura(){ //crea el metodo para obtener el tipo de figura

return tipoFigura ;
}
public void setTipoFigura(int tipoFigura) { //crea el método para establecer el tipo de figura

this.tipoFigura =tipoFigura;
}
public boolean getRellenar(){ //método que se utiliza para obtener rellenar

return rellenar;
}
public void setRellenar(boolean rellenar ){ // método que se utiliza para establecer rellenar

this .rellenar = rellenar;


}
private void validarCoordenadas() { //se declara el método que se utiliza validar coordenada
if ( x1 > x2 ) {
int xt = x2;
this.x2 = x1;
this.x1 = xt;
}
if (y1>y2) {
int yt = y2;
this.y2 = y1;
this.y1 = yt;
}
}
}
Yaser Quiel
4-782-1553

Clase2: PanelDibujo

// Programa que utiliza la clase MiFigura


// para dibujar líneas al azar.
package objeto;
import java.awt.Color;
import java.awt.Graphics;
import java.security.SecureRandom;
import javax.swing.JPanel;

public class PanelDibujo extends JPanel{


//paneldibujo extiende de jpanel
private SecureRandom numerosAleatorios = new SecureRandom();
// crea un metodo SecureRandom(Esta clase proporciona un generador de números aleatorios)

private MiFigura[] figuras; // arreglo para Figuras


// constructor, crea un panel con figuras al azar
public PanelDibujo()
{
setBackground(Color.WHITE);//setea el color de fondo ( que corresponde al color blanco)
figuras = new MiFigura[3 + numerosAleatorios.nextInt(5)];

// crea lineas
MiFigura miFigura;
for (int cuenta = 0; cuenta < figuras.length; cuenta++) // crea los valores que nesesita la figura y
adiciona un contador
{
// genera coordenadas aleatorias
int x1 = numerosAleatorios.nextInt(200);
int y1 = numerosAleatorios.nextInt(200);
int x2 = numerosAleatorios.nextInt(200);
int y2 = numerosAleatorios.nextInt(200);

// genera un color aleatorio


Color color = new Color(numerosAleatorios.nextInt(256),
numerosAleatorios.nextInt(256), numerosAleatorios.nextInt(256));

// agrega la línea a la lista de líneas a mostrar en pantalla


miFigura=new MiFigura(x1, y1, x2, y2, color);
miFigura.setRellenar((numerosAleatorios.nextInt(2)==1));
miFigura.setTipoFigura(numerosAleatorios.nextInt(2));
figuras[cuenta] = miFigura;
}
}
Yaser Quiel
4-782-1553
// para cada arreglo de figuras, dibuja las figuras individuales
@Override
public void paintComponent(Graphics g)
{
super.paintComponent(g);

// dibuja las líneas


for (MiFigura linea : figuras)
linea.dibujar(g);
}
} // final de la clase PanelDibujo
Yaser Quiel
4-782-1553

Clase #3: PruebaDibujo

package vista;
//Se introducen los import que se utilizaran
import objeto.PanelDibujo;
import javax.swing.JFrame;
//clase PruebaDibujo
public class PruebaDibujo {
//metodo de inicio main
public static void main(String[] args)
{

PanelDibujo panel = new PanelDibujo(); //crea un objeto llamado panel


//el cual hace el llamado de PanelDibujo
JFrame aplicacion = new JFrame();//crea un objeto llamado aplicacion
//el cual se emplea para invocar el JFrame
aplicacion.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//el metodo SetDefaultcloseOperation es método se utiliza para especificar
//una de varias opciones para el botón de cierre. el cual tiene EXIT_ON_CLOSE
//que indica sale de la aplicación.
aplicacion.add(panel); //agrega el panel a la aplicacion, y a suvez como panel es una
//representacion de PanelDibujo
aplicacion.setSize(300, 300); //setea el tamañpo de la ventana
aplicacion.setVisible(true); //setea la visibilidad como cierta(Visible)
}
}
// fin de la clase PruebaDibujo

Das könnte Ihnen auch gefallen