4.4.4 Ellipsed2D

 

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