Helmichs Informatik-Lexikon

drawOval()

Die Methode drawOval() gehört zur Java-Klasse Graphics und dient zum Zeichnen eines Ovals oder Kreises. Die Parameter dieser Methode sind die Pixel-Koordinaten der linken oberen Ecke des Rechtecks, welches das Oval bzw. den Kreis umschließt. Das macht man sich am besten mit einer kleinen Skizze klar:

Die vier Parameter von drawOval()
Autor: Ulrich Helmich 2017, Lizenz: siehe Seitenende

Beispiele:
g.drawOval(20,20,460,460)

Dieser Befehl zeichnet einen schwarz umrandeten leeren Kreis in das Anwendungsfenster mit einem Abstand von 20 Pixeln zum linken und zum oberen Rand.

g.setColor(Color.RED);
g.fillOval(100,100,300,300);
g.setColor(Color.BLACK);
g.drawOval(100,100,300,300);

Die ersten zwei Zeilen zeichnen mit fillOval() zunächst einen rot gefüllten Kreis in das Applet, allerdings ohne andersfarbigen Rand. Die Methode fillOval() hat die gleichen Parameter wie drawOval(), nur wird der Kreis bzw. das Oval in der gerade aktuellen Farbe vollständig ausgefüllt.

Die nächsten zwei Zeilen zeichnen dann einen leeren schwarzen Kreis genau auf den roten Kreis, so dass insgesamt ein roter Kreis mit einem dünnen schwarzen Rand entsteht.

public void paint(Graphics g)
{
   g.setColor(Color.BLACK);
   g.fillOval(90,90,320,320);
   g.setColor(new Color(255,0,0));
   g.fillOval(100,100,300,300);
   g.setColor(new Color(0,255,0,127));
   g.fillOval(200,200,300,300);
}

Diese sechs Befehle der paint()-Methode zeichnen zuerst einen etwas größeren schwarzen Kreis und darüber einen etwas kleineren roten Kreis. So entsteht ein roter Kreis mit einem zehn Pixel starken schwarzen Rand.

Wenn der rote Kreis mit dem dicken schwarzen Rand gezeichnet wurde, wird über den roten Kreis ein grüner Kreis gelegt, allerdings nach rechts und nach unten um 100 Pixel verschoben. Die Transparenz dieses zweiten Kreises wurde auf den Wert 127 gesetzt, das ist die Hälfte des maximalen Wertes von 255.

Hier das Ergebnis dieser sechs Befehle:

Zwei sich überlappende Kreise
Autor: Ulrich Helmich 2022, Lizenz: siehe Seitenende