Cómo crear un cuadrado y un circulo a partir de las clases dadas
Publicado por Fabian Montoya (1 intervención) el 15/09/2018 07:10:51
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:
Estas son las clases dadas:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
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);
}
}
Valora esta pregunta
0