Kreis.java

import java.awt.*;

public class Kreis implements Figur {
  // Kreis, gegeben durch Mittelpunkt und Radius

  private Punkt m;      // Mittelpunkt
  private double r;     // Radius

  // Konstruktoren

  public Kreis(Punkt p, double d) {
    m = p;
    r = d;
  }

  public Kreis() {
    // Standardkreis: um Ursprung, Radius 1
    this(new Punkt(), 1.0);
  }  


  // öffentliche Methoden

  public void move(Punkt p) {
    // verschiebt um "Vektor" p

    m.move(p);
  }

  public void scale(double s) {
    // skaliert um Faktor s, Bezugspunkt O
  
    m.scale(s);
    r *= s;
  }    

  public void rotate(double alpha) {
    // dreht um Winkel alpha, Drehpunkt O
    
    m.rotate(alpha);
  }  

  public void draw(Graphics g) {
    // zeichne die Figur 
 
    int iRadius = (int) Math.round(r);
    g.drawOval(m.getX() - iRadius, m.getY() - iRadius, 2*iRadius, 2*iRadius);
  }

  public String toString() {
    // beschreibt Objekt als String
 
    return "KREIS\n" + "   " + "r = " + r + "\n   " + m + "\n";
  }
}