sum.ereignis
Class Stift

java.lang.Object
  extended by sum.ereignis.Stift
Direct Known Subclasses:
Buntstift

public class Stift
extends Object

Der Stift ist ein Werkzeug, das sich auf dem Bildschirm oder in einem Fenster bewegen kann. Er befindet sich stets auf einer genau definierten Position des Bildschirms bzw. Fensters, die durch Zeichenkoordinaten (horizontal nach rechts, vertikal nach unten) angegeben wird, und zeigt in eine Richtung, die durch Winkel beschrieben wird (0 = rechts, Drehsinn mathematisch positiv). Der Stift kennt zwei Zustaende: Ist der Stift abgesenkt (runter) und bewegt er sich über den Bildschirm, so hinterlaesst er eine Spur, die von einem Zeichenmodus abhaengig ist. Ist der Stift angehoben (hoch), hinterlaesst er keine Spur. Beim Zeichnen kennt der Stift drei Modi: Normal - der Stift zeichnet eine Linie in der Stiftfarbe; Wechseln - der Stift zeichnet eine Linie, wobei die Untergrundfarbe in die Stiftfarbe und die Stiftfarbe in die Untergrundfarbe geändert wird; Radieren - der Stift zeichnet eine Linie in der Farbe des Untergrunds.

Version:
7.0 vom 21.9.2008
Author:
Bernard Schriek

Field Summary
protected  BasicStroke hatStroke
           
protected  Bildschirm kenntPrivatschirm
           
protected static int NORMALMODUS
           
protected static int RADIERMODUS
           
protected static int WECHSELMODUS
           
protected  boolean zHoch
           
protected  int zSchreibModus
           
protected  double zStiftH
           
protected  double zStiftV
           
protected  double zWinkel
           
 
Constructor Summary
Stift()
          Der Stift für den Bildschirm wird initialisiert.
Stift(Fenster pFenster)
          Der Stift für ein Fenster wird initialisiert.
 
Method Summary
 void bewegeBis(double pH, double pV)
          Der Stift wird unabhaengig von seiner vorherigen Position auf die durch die Parameter angegebene Position bewegt.
 void bewegeUm(double pDistanz)
          Der Stift wird von seiner aktuellen Position in die aktuelle Richtung bewegt.
 void dreheBis(double pWinkel)
          Der Stift wird unabhaengig von seiner vorherigen Richtung auf die durch Winkel angegebene Winkelgroesse gedreht.
 void dreheUm(double pWinkel)
          Der Stift wird ausgehend von seiner jetzigen Richtung um die durch Winkel angegebene Winkelgroesse im mathematisch positiven Sinne weitergedreht.
 void dreheZu(double pWohinH, double pWohinV)
          Der Stift wird unabhaengig von seiner vorherigen Richtung in die Richtung des Punktes gedreht, dessen Koordinaten uebergeben werden.
protected  Graphics2D get2DGraphics(Graphics g)
          wird intern vor dem Zeichnen aufgerufen.
 void gibFrei()
          Dummy-Prozedur
 void hoch()
          Der Stift wird angehoben.
 double hPosition()
          liefert die horizontale Koordinate der aktuellen Stiftposition.
 boolean istUnten()
          liefert, ob der Stift abgesenkt ist.
 void normal()
          Der Stift arbeitet danach im Normalmodus.
 void radiere()
          Der Stift arbeitet danach im Radiermodus.
 void runter()
          Der Stift wird abgesenkt.
 void schreibeText(char pZeichen)
          Der Stift schreibt das angegebenen Zeichen auf die Zeichenebene unter Verwendung seines aktuellen Zeichenmodus unabhaengig vom Zustand.
 void schreibeText(String pText)
          Der Stift schreibt den angegebenen Text auf die Zeichenebene unter Verwendung seines aktuellen Zeichenmodus unabhaengig vom Zustand.
 void schreibeZahl(double pZahl)
          Der Stift schreibt die angegebene Zahl auf die Zeichenebene unter Verwendung seines aktuellen Zeichenmodus unabhaengig vom Zustand.
 void schreibeZahl(int pZahl)
          Der Stift schreibt die angegebene Zahl auf die Zeichenebene unter Verwendung seines aktuellen Zeichenmodus unabhaengig vom Zustand.
protected  void setzeZustand(Graphics2D g)
          wird intern vor dem Zeichnen aufgerufen.
 double vPosition()
          liefert die vertikale Koordinate der aktuellen Stiftposition.
 void wechsle()
          Der Stift arbeitet danach im Wechselmodus.
 double winkel()
          liefert die aktuelle Bewegungsrichtung des Stifts.
 void zeichneKreis(double pRadius)
          Der Stift zeichnet unabhaengig von seinem Zustand im aktuellen Zeichenmodus einen Kreis mit der aktuellen Position als Mittelpunkt und dem angegebenen Radius.
protected  void zeichneLinie(double x1, double y1, double x2, double y2)
          wird intern von bewegeBis() aufgerufen.
 void zeichneRechteck(double pBreite, double pHoehe)
          Der Stift zeichnet unabhaengig von seinem Zustand im aktuellen Zeichenmodus ein achsenparalleles Rechteck mit der aktuellen Position als linker oberer Ecke und der angegebenen Breite und Hoehe.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

hatStroke

protected BasicStroke hatStroke

kenntPrivatschirm

protected Bildschirm kenntPrivatschirm

NORMALMODUS

protected static final int NORMALMODUS
See Also:
Constant Field Values

RADIERMODUS

protected static final int RADIERMODUS
See Also:
Constant Field Values

WECHSELMODUS

protected static final int WECHSELMODUS
See Also:
Constant Field Values

zHoch

protected boolean zHoch

zSchreibModus

protected int zSchreibModus

zStiftH

protected double zStiftH

zStiftV

protected double zStiftV

zWinkel

protected double zWinkel
Constructor Detail

Stift

public Stift()
Der Stift für den Bildschirm wird initialisiert. Die Zeichenebene steht zur Verfuegung und der Stift befindet sich angehoben oben links an Position (0,0) mit Richtung 0 Grad im normalen Zeichenmodus.


Stift

public Stift(Fenster pFenster)
Der Stift für ein Fenster wird initialisiert. Die Zeichenebene steht zur Verfuegung und der Stift befindet sich angehoben oben links an Position (0,0) mit Richtung 0 Grad im normalen Zeichenmodus.

Method Detail

bewegeBis

public void bewegeBis(double pH,
                      double pV)
Der Stift wird unabhaengig von seiner vorherigen Position auf die durch die Parameter angegebene Position bewegt.


bewegeUm

public void bewegeUm(double pDistanz)
Der Stift wird von seiner aktuellen Position in die aktuelle Richtung bewegt. Distanz gibt die Laenge der zurueckgelegten Strecke an.


dreheBis

public void dreheBis(double pWinkel)
Der Stift wird unabhaengig von seiner vorherigen Richtung auf die durch Winkel angegebene Winkelgroesse gedreht.


dreheUm

public void dreheUm(double pWinkel)
Der Stift wird ausgehend von seiner jetzigen Richtung um die durch Winkel angegebene Winkelgroesse im mathematisch positiven Sinne weitergedreht.


dreheZu

public void dreheZu(double pWohinH,
                    double pWohinV)
Der Stift wird unabhaengig von seiner vorherigen Richtung in die Richtung des Punktes gedreht, dessen Koordinaten uebergeben werden.


get2DGraphics

protected Graphics2D get2DGraphics(Graphics g)
wird intern vor dem Zeichnen aufgerufen.


gibFrei

public void gibFrei()
Dummy-Prozedur


hoch

public void hoch()
Der Stift wird angehoben.


hPosition

public double hPosition()
liefert die horizontale Koordinate der aktuellen Stiftposition.


istUnten

public boolean istUnten()
liefert, ob der Stift abgesenkt ist.


normal

public void normal()
Der Stift arbeitet danach im Normalmodus.


radiere

public void radiere()
Der Stift arbeitet danach im Radiermodus.


runter

public void runter()
Der Stift wird abgesenkt.


schreibeText

public void schreibeText(char pZeichen)
Der Stift schreibt das angegebenen Zeichen auf die Zeichenebene unter Verwendung seines aktuellen Zeichenmodus unabhaengig vom Zustand. Die aktuelle Stiftposition ist die linke obere Ecke des Textes. Die neue Stiftposition wird die rechte obere Ecke des Textes.


schreibeText

public void schreibeText(String pText)
Der Stift schreibt den angegebenen Text auf die Zeichenebene unter Verwendung seines aktuellen Zeichenmodus unabhaengig vom Zustand. Die aktuelle Stiftposition ist die linke obere Ecke des Textes. Die neue Stiftposition wird die rechte obere Ecke des Textes.


schreibeZahl

public void schreibeZahl(double pZahl)
Der Stift schreibt die angegebene Zahl auf die Zeichenebene unter Verwendung seines aktuellen Zeichenmodus unabhaengig vom Zustand. Die aktuelle Stiftposition ist die linke obere Ecke des Textes. Die neue Stiftposition wird die rechte obere Ecke des Textes.


schreibeZahl

public void schreibeZahl(int pZahl)
Der Stift schreibt die angegebene Zahl auf die Zeichenebene unter Verwendung seines aktuellen Zeichenmodus unabhaengig vom Zustand. Die aktuelle Stiftposition ist die linke obere Ecke des Textes. Die neue Stiftposition wird die rechte obere Ecke des Textes.


setzeZustand

protected void setzeZustand(Graphics2D g)
wird intern vor dem Zeichnen aufgerufen.


vPosition

public double vPosition()
liefert die vertikale Koordinate der aktuellen Stiftposition.


wechsle

public void wechsle()
Der Stift arbeitet danach im Wechselmodus.


winkel

public double winkel()
liefert die aktuelle Bewegungsrichtung des Stifts.


zeichneKreis

public void zeichneKreis(double pRadius)
Der Stift zeichnet unabhaengig von seinem Zustand im aktuellen Zeichenmodus einen Kreis mit der aktuellen Position als Mittelpunkt und dem angegebenen Radius. Die Position und die Richtung des Stiftes bleiben unveraendert.


zeichneLinie

protected void zeichneLinie(double x1,
                            double y1,
                            double x2,
                            double y2)
wird intern von bewegeBis() aufgerufen.


zeichneRechteck

public void zeichneRechteck(double pBreite,
                            double pHoehe)
Der Stift zeichnet unabhaengig von seinem Zustand im aktuellen Zeichenmodus ein achsenparalleles Rechteck mit der aktuellen Position als linker oberer Ecke und der angegebenen Breite und Hoehe. Die Position und die Richtung des Stiftes bleiben unveraendert.