eps.fortgeschritteneGrafik.interna
Class Grafik

java.lang.Object
  extended by eps.fortgeschritteneGrafik.interna.Grafik
Direct Known Subclasses:
Bild, Vektorgrafik

public abstract class Grafik
extends Object

Abstrakte Klasse Grafik - Dienste, die alle Grafiken zum Darstellen auf einem Zeichenfenster anbieten, werden festgelegt

Version:
02.2008
Author:
Florian Prager, Universitaet Passau

Field Summary
protected  double standardBreite
          Der Wert, der zum Zeitpunkt der Erzeugung eingenommen wird.
protected  double standardHoehe
          Der Wert, der zum Zeitpunkt der Erzeugung eingenommen wird.
 
Constructor Summary
Grafik(boolean anmelden, Zeichenfenster fenster)
           
 
Method Summary
 void abmelden()
          Entfernt unsere Grafikreferenz aus der Liste des Zeichenfensters.
 void anmelden()
          Fuegt die Grafik dem Zeichenfenster hinzu.
 int breiteGeben()
          Liest die Breite der Grafik aus.
 void drehenUm(int xDrehpunkt, int yDrehpunkt, int winkel)
          Die Methode drehen dreht die Vektorgrafik relativ um den uebergebenen Winkel.
 boolean equals(Object o)
          Vergleicht zwei Grafiken.
 Zeichenfenster fensterGeben()
          Liefert einen Zeiger auf das Zeichenfenster der Grafik
 void groesseSetzen(int neueBreite, int neueHoehe)
          Breite und Hoehe der Grafik koennen gewaehlt werden.
 int hoeheGeben()
          Liest die Hoehe der Grafik aus.
(package private)  int idGeben()
          Liefert die ID der Grafik.
 void positionSetzen(int neueXPosition, int neueYPosition)
          Veraendert den Aufpunkt der Grafik.
 void streckenAn(int xZentrum, int yZentrum, double faktor)
          Streckt die Grafik um den gegebenen Faktor an dem gegebenen Zentrum.
 String toString()
          Unsere einfache "Visitenkarte": unser Klassenname gefolgt von interessanten Attributwerten
protected  TransformationsSpeicher transformationenGeben()
          Wird von Grafikunterklasseobjekten intern genutzt.
 void verschieben(int deltaX, int deltaY)
          Verschiebt die Grafik um deltaX in x-Richtung und um deltaY in y-Richtung.
 int xPositionGeben()
          Liest die x-Koordinate der Position (linke obere Ecke des die Grafik ueberdeckenden Rechtecks) aus.
 int yPositionGeben()
          Liest die y-Koordinate der Position (linke obere Ecke des die Grafik ueberdeckenden Rechtecks) aus.
protected abstract  void zeichnenAuf(Graphics2D zeichnung)
          Nur das Zeichenfenster, bei dem diese Grafik registriert ist, nutzt den Dienst zeichnenAuf.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

standardBreite

protected double standardBreite
Der Wert, der zum Zeitpunkt der Erzeugung eingenommen wird.


standardHoehe

protected double standardHoehe
Der Wert, der zum Zeitpunkt der Erzeugung eingenommen wird.

Constructor Detail

Grafik

public Grafik(boolean anmelden,
              Zeichenfenster fenster)
Method Detail

abmelden

public void abmelden()
Entfernt unsere Grafikreferenz aus der Liste des Zeichenfensters.


anmelden

public void anmelden()
Fuegt die Grafik dem Zeichenfenster hinzu. Ruft der Nutzer den Dienst zeichnen() des Zeichenfensters auf, wird die Grafik vor alle bisherigen Grafiken gezeichnet.


breiteGeben

public int breiteGeben()
Liest die Breite der Grafik aus.


drehenUm

public void drehenUm(int xDrehpunkt,
                     int yDrehpunkt,
                     int winkel)
Die Methode drehen dreht die Vektorgrafik relativ um den uebergebenen Winkel.


equals

public boolean equals(Object o)
Vergleicht zwei Grafiken. Grafikek sind gleich, wenn ihre IDs identisch sind.

Overrides:
equals in class Object

fensterGeben

public Zeichenfenster fensterGeben()
Liefert einen Zeiger auf das Zeichenfenster der Grafik


groesseSetzen

public void groesseSetzen(int neueBreite,
                          int neueHoehe)
Breite und Hoehe der Grafik koennen gewaehlt werden. Nicht positive (unsinnige) Angaben werden automatisch auf den kleinsten noch sinnvollen Wert fuer eine Grafik gesetzt, hier 1. Die Grafik ist dann entsprechend auf dem Zeichenfenster zu sehen.


hoeheGeben

public int hoeheGeben()
Liest die Hoehe der Grafik aus.


idGeben

int idGeben()
Liefert die ID der Grafik. Wird von der equals()-Methode aufgerufen


positionSetzen

public void positionSetzen(int neueXPosition,
                           int neueYPosition)
Veraendert den Aufpunkt der Grafik. Der Aufpunkt ist die linke obere Ecke des die Grafik ueberdeckenden (waagrecht ausgerichteten) Rechtecks.


streckenAn

public void streckenAn(int xZentrum,
                       int yZentrum,
                       double faktor)
Streckt die Grafik um den gegebenen Faktor an dem gegebenen Zentrum. Negative Streckfaktoren werden hier ignoriert. Verwenden Sie bei Bedarf erst eine Drehung und strecken Sie dann...


toString

public String toString()
Unsere einfache "Visitenkarte": unser Klassenname gefolgt von interessanten Attributwerten

Overrides:
toString in class Object

transformationenGeben

protected TransformationsSpeicher transformationenGeben()
Wird von Grafikunterklasseobjekten intern genutzt. Liefert die bisherigen Transformationen.


verschieben

public void verschieben(int deltaX,
                        int deltaY)
Verschiebt die Grafik um deltaX in x-Richtung und um deltaY in y-Richtung.


xPositionGeben

public int xPositionGeben()
Liest die x-Koordinate der Position (linke obere Ecke des die Grafik ueberdeckenden Rechtecks) aus.


yPositionGeben

public int yPositionGeben()
Liest die y-Koordinate der Position (linke obere Ecke des die Grafik ueberdeckenden Rechtecks) aus.


zeichnenAuf

protected abstract void zeichnenAuf(Graphics2D zeichnung)
Nur das Zeichenfenster, bei dem diese Grafik registriert ist, nutzt den Dienst zeichnenAuf. Grafikobjekte werden angestossen, sich selbst passend im Fenster zu zeichnen.