Dibujar un círculo en Java
-
Dibujar un círculo con la función
drawOval()
en Java -
Dibujar un círculo usando la función
drawRoundRect()
en Java -
Dibujar un círculo usando
Shape
ydraw()
en Java
En este artículo, introduciremos cómo podemos dibujar un círculo en Java utilizando las librerías java.awt
y javax.swing
que se utilizan para crear componentes GUI. Utilizaremos varias funciones de la clase Graphics2d
que proporciona más control sobre los componentes gráficos que queremos dibujar en la pantalla.
Dibujar un círculo con la función drawOval()
en Java
En el primer ejemplo, utilizamos el método drawOval()
de la clase Graphics2D
que podría crear formas ovaladas, pero para crear un círculo perfecto. Para dibujar el círculo, primero anulamos la función paint(Graphics g)
que pinta el componente utilizando la clase Graphics
.
Convertimos la clase Graphics
en Graphics2D
para utilizar sus métodos y propiedades. Ahora llamamos a la función drawOval()
y le pasamos cuatro argumentos. Los dos primeros argumentos son las coordenadas x e y del círculo, mientras que los dos últimos especifican la anchura y la altura del círculo a dibujar.
Por último, extendemos JFrame
del paquete javax.swing
para crear un marco de ventana con el tamaño y las propiedades especificadas.
import java.awt.*;
import javax.swing.*;
public class DrawCircle extends JFrame {
public DrawCircle() {
setTitle("Drawing a Circle");
setSize(400, 400);
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
@Override
public void paint(Graphics g) {
Graphics2D g2d = (Graphics2D) g;
g2d.drawOval(150, 150, 100, 100);
}
public static void main(String[] args) {
new DrawCircle();
}
}
Resultado:
Dibujar un círculo usando la función drawRoundRect()
en Java
Otro método de la clase Graphics2D
llamado drawRoundRect()
también puede ser utilizado para dibujar un círculo. Como su nombre indica, pinta un rectángulo redondeado. Al igual que en el primer ejemplo, anulamos la función paint(Graphics g)
y llamamos al método drawRoundRect()
de la clase Graphics2D
.
El método drawRoundRect()
acepta seis argumentos; los dos primeros son las coordenadas x e y, los dos siguientes indican la anchura y la altura, y los dos últimos argumentos son la anchura y la altura del arco.
import java.awt.*;
import javax.swing.*;
public class DrawCircle extends JFrame {
public DrawCircle() {
setTitle("Drawing a Circle");
setSize(250, 250);
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
@Override
public void paint(Graphics g) {
Graphics2D g2d = (Graphics2D) g;
g2d.drawRoundRect(40, 50, 90, 90, 200, 200);
}
public static void main(String[] args) {
new DrawCircle();
}
}
Resultado:
Dibujar un círculo usando Shape
y draw()
en Java
La función draw()
es otra función de la clase graphics2D
que toma una Shape
como argumento. Shape
es una interfaz que proporciona las propiedades de una forma geométrica. En este caso queremos un círculo, así que utilizaremos Ellipse2D.Double()
que define la altura y la anchura de la elipse, así como las coordenadas x e y del rectángulo que la enmarca.
En el siguiente ejemplo, pasamos los argumentos a Ellipse2D.Double()
, y un objeto Shape
creado al método draw()
. Este método finalmente dibujará un círculo en la ventana que hemos creado con JFrame
.
import java.awt.*;
import java.awt.geom.Ellipse2D;
import javax.swing.*;
public class DrawCircle extends JFrame {
public DrawCircle() {
setTitle("Drawing a Circle");
setSize(250, 250);
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
@Override
public void paint(Graphics g) {
Graphics2D g2d = (Graphics2D) g;
Shape circleShape = new Ellipse2D.Double(100, 100, 100, 100);
g2d.draw(circleShape);
}
public static void main(String[] args) {
new DrawCircle();
}
}
Resultado:
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn