Disegna un cerchio in Java

Rupam Yadav 12 ottobre 2023
  1. Disegna un cerchio usando la funzione drawOval() in Java
  2. Disegna un cerchio usando la funzione drawRoundRect() in Java
  3. Disegna un cerchio usando Shape e draw() in Java
Disegna un cerchio in Java

In questo articolo, introdurremo come disegnare un cerchio in Java utilizzando le librerie java.awt e javax.swing che vengono utilizzate per creare componenti GUI. Useremo diverse funzioni della classe Graphics2d che fornisce un maggiore controllo sui componenti grafici che vogliamo disegnare sullo schermo.

Disegna un cerchio usando la funzione drawOval() in Java

Nel primo esempio, usiamo il metodo drawOval() della classe Graphics2D che potrebbe creare forme ovali, ma per creare un cerchio perfetto. Per disegnare il cerchio, prima sovrascriviamo la funzione paint(Graphics g) che ha dipinto il componente usando la classe Graphics.

Trasmettiamo Graphics al tipo Graphics2D per usarne i metodi e le proprietà. Ora chiamiamo la funzione drawOval() e passiamo quattro argomenti. I primi due argomenti sono le coordinate x e y del cerchio, mentre gli ultimi due argomenti specificano la larghezza e l’altezza del cerchio da disegnare.

Infine, estendiamo JFrame dal pacchetto javax.swing per creare un frame della finestra con le dimensioni e le proprietà specificate.

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();
  }
}

Produzione:

Java disegna un cerchio usando drawoval

Disegna un cerchio usando la funzione drawRoundRect() in Java

Un altro metodo della classe Graphics2D chiamato drawRoundRect() può essere utilizzato anche per disegnare un cerchio. Come suggerisce il nome, dipinge un rettangolo arrotondato. Proprio come nel primo esempio, sovrascriviamo la funzione paint(Graphics g) e quindi chiamiamo il metodo drawRoundRect() della classe Graphics2D.

drawRoundRect() accetta sei argomenti; i primi due sono le coordinate x e y, i due successivi indicano la larghezza e l’altezza e gli ultimi due argomenti sono la larghezza e l’altezza dell’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();
  }
}

Produzione:

Java disegna un cerchio usando drawRoundRect

Disegna un cerchio usando Shape e draw() in Java

draw() è un’altra funzione della classe graphics2D che accetta una Shape come argomento. Shape è un’interfaccia che fornisce le proprietà di una forma geometrica. Vogliamo un cerchio qui, quindi useremo Ellipse2D.Double() che definisce l’altezza e la larghezza dell’ellisse così come le coordinate x e y del rettangolo di inquadratura.

Nell’esempio seguente, passiamo gli argomenti a Ellipse2D.Double() e un oggetto Shape creato al metodo draw(). Questo metodo disegnerà finalmente un cerchio nella finestra che abbiamo creato usando 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();
  }
}

Produzione:

Java disegna un cerchio usando forma e disegna

Autore: Rupam Yadav
Rupam Yadav avatar Rupam Yadav avatar

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

Articolo correlato - Java GUI