Zeichnen eines Kreises in Java

Rupam Yadav 12 Oktober 2023
  1. Zeichnen eines Kreises mit der Funktion drawOval() in Java
  2. Zeichnen eines Kreises mit der Funktion drawRoundRect() in Java
  3. Zeichnen eines Kreises mit Shape und draw() in Java
Zeichnen eines Kreises in Java

In diesem Artikel stellen wir vor, wie wir einen Kreis in Java mit Hilfe der Bibliotheken java.awt und javax.swing zeichnen können, die zum Erstellen von GUI-Komponenten verwendet werden. Wir werden einige Funktionen der Klasse Graphics2d verwenden, die mehr Kontrolle über die grafischen Komponenten bietet, die wir auf dem Bildschirm zeichnen wollen.

Zeichnen eines Kreises mit der Funktion drawOval() in Java

Im ersten Beispiel verwenden wir die Methode drawOval() der Klasse Graphics2D, die ovale Formen erstellen könnte, aber um einen perfekten Kreis zu erzeugen. Um den Kreis zu zeichnen, überschreiben wir zunächst die Funktion paint(Graphics g), die die Komponente mit der Klasse Graphics gemalt hat.

Wir casten Graphics auf den Typ Graphics2D, um dessen Methoden und Eigenschaften zu nutzen. Nun rufen wir die Funktion drawOval() auf und übergeben vier Argumente. Die ersten beiden Argumente sind die x- und y-Koordinaten des Kreises, während die letzten beiden Argumente die Breite und die Höhe des zu zeichnenden Kreises angeben.

Zuletzt erweitern wir JFrame aus dem Paket javax.swing, um einen Fensterrahmen mit der angegebenen Größe und den Eigenschaften zu erzeugen.

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

Ausgabe:

Java Zeichnen eines Kreises mit drawoval

Zeichnen eines Kreises mit der Funktion drawRoundRect() in Java

Eine weitere Methode der Klasse Graphics2D namens drawRoundRect() kann ebenfalls verwendet werden, um einen Kreis zu zeichnen. Wie der Name schon sagt, malt sie ein abgerundetes Rechteck. Genau wie im ersten Beispiel überschreiben wir die Funktion paint(Graphics g) und rufen dann die Methode drawRoundRect() der Klasse Graphics2D auf.

drawRoundRect() akzeptiert sechs Argumente; die ersten beiden sind die x- und y-Koordinaten, die nächsten beiden geben die Breite und die Höhe an, und die letzten beiden Argumente sind die Breite und die Höhe des Bogens.

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

Ausgabe:

Java zeichnet einen Kreis mit drawRoundRect

Zeichnen eines Kreises mit Shape und draw() in Java

Zeichnen() ist eine weitere Funktion der Klasse graphics2D, die ein Shape als Argument annimmt. Shape ist eine Schnittstelle, die die Eigenschaften einer geometrischen Form bereitstellt. Wir wollen hier einen Kreis, also werden wir Ellipse2D.Double() verwenden, das die Höhe und Breite der Ellipse sowie die x- und y-Koordinaten des umrahmenden Rechtecks definiert.

Im folgenden Beispiel übergeben wir die Argumente an Ellipse2D.Double(), und ein erstelltes Shape-Objekt an die Methode draw(). Diese Methode wird schließlich einen Kreis in das Fenster zeichnen, das wir mit JFrame erstellt haben.

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

Ausgabe:

Java zeichnet einen Kreis mit shape und draw

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

Verwandter Artikel - Java GUI