Buscar
Social
Ofertas laborales ES

Foro sobre Java SE > Cómo crear un cuadrado y un circulo a partir de las clases dadas

Hola. Soy muy principante y me gustaría saber cómo puedo crear y programar dos nuevas clases que permitan conceptualizar un cuadrado y un circulo respectivamente. Considerando utilizar la clase Punto o Linea, dependiendo de las necesidades de la función que te permita dibujar en el marco (JFrame).

Estas son las clases dadas:
[code]
import javax.swing.JFrame; //nos da oportunidad de generar una ventana
import java.awt.Graphics;
import java.awt.Color;
import java.util.ArrayList;
class Ventana extends JFrame{
ArrayList<Punto> puntos = new ArrayList<Punto>(); //permite almacenar varios puntos
ArrayList<Linea> linea = new ArrayList<Linea>();

public Ventana(){ //constructor
this.setSize(500,500);//tamaño
this.setTitle("Puntos con linea "); //titulo de la ventana no es necesario
this.setLocationRelativeTo(null); //posicionamiento de la ventana
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //poder cerrarla
}

public void paint(Graphics g){//este metodo ya esta definido
super.paint(g);
g.setColor(Color.blue); //el color es un objeto
//g.drawLine(50,50,150,150); //dibuja resiviendo las cordenadas iniciales y finales en este caso se dibuja el punto nadamas
for (int i = 0; i<puntos.size(); i++){
g.drawOval(puntos.get(i).x,puntos.get(i).y,3,3);
g.drawLine(linea.get(i).x,linea.get(i).y,linea.get(i).a,linea.get(i).b);
}
}

public void setPunto(Punto p){
puntos.add(p); //añade en el array list el punto
}

public void setLinea(Linea l){
linea.add(l);
}

}


class Linea{
int x,y,a,b;
Linea(){

}
Linea(Punto p1, Punto p2){
x=p1.x;
y=p1.y;

a=p2.x;
b=p2.y;
}
public void imprimeCoordenadas2(){
System.out.println("Puntoinicial [x="+x+",y="+y+"]");
System.out.println("PuntoFinal [x="+a+",y="+b+"]");
}

}


class Punto{

int x,y;

Punto(){

}

Punto(int X, int Y){
x=X;
y=Y;
}

public void imprimeCoordenadas(){
System.out.println("Punto[x="+x+",y="+y+"]");
}

}


class Geometria{
public static void main(String[] args) {

Punto p1 = new Punto(100,100);
Punto p2 = new Punto(200,200);

Linea l1 = new Linea(p1,p2);

p1.imprimeCoordenadas();

Ventana frame = new Ventana();

frame.setPunto(p1);
frame.setPunto(p2);

frame.setLinea(l1);
frame.setVisible(true);


}
}

septiembre 15, 2018 | Registered Commenterfabianek