Vamos a dibujar una elipse, sin embargo,
aquí hay un inconveniente, cuando creamos un cuadrado o un rectángulo le
indicamos el punto inicial, el alto y ancho, en cambio, con los círculos y las
elipses es un poco dificultoso indicarle el punto inicial y donde va a acabar.
Para ello, nos creamos un rectángulo imaginario donde le indicamos el punto inicial,
el ancho y el alto luego el programa lo que va a hacer es dibujar una elipse
que este dentro de ese rectángulo.
Lo primero que tenemos que hacer es instanciar la
clase Ellipse2D que es abstracta
Ellipse2D
elipse = new
Ellipse2D.Double();
A continuación el objeto elipse y nos fijamos que tiene tres tipos de métodos setFrame, tres formas de dibujar el rectángulo:
Nosotros vamos a elegir el primer método que nos dibuje el rectángulo sin ponerle dimensiones. Y luego ya es dibujar la elipse:
elipse.setFrame(rectangulo);
g2.draw(elipse);
Si ejecutamos la aplicación:
Podemos dibujar una línea dentro de la elipse
directamente la instanciamos:
g2.draw(new Line2D.Double(100,
100, 300, 250));
Si probamos de nuevo:
Por último, vamos a dibujar un circulo que englobe todo lo que hemos dibujado. Lo primero que tenemos que saber es donde está el centro del rectángulo en la coordenada x
Creamos una variable de tipo decimal llamada CentroenX donde se va almacenar ese
valor:
double CentroenX =rectangulo.getCenterX();
Y lo mismo con la coordenada Y:
double CentroenY =rectangulo.getCenterY();
Después una variable de tipo doble que va almacenar el
radio:
double radio=150;
Dibujamos el circulo:
Ellipse2D
circulo=new
Ellipse2D.Double();
Instanciamos el objeto circulo y le pasamos las
variables CentroenX, CentroenY…
circulo.setFrame(CentroenX, CentroenY, CentroenX+radio, CentroenY+radio);
Y por último dibujamos:
g2.draw(circulo);
4.4.3 Rectangle2D << >> 4.5 COLORES EN EL FRAME
No hay comentarios:
Publicar un comentario