Overview | Package | Class | Tree | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## sum.kern
Class Stift

    java.lang.Object
      sum.kern.Stift

Direct Known Subclasses:
  Buntstift

    public class Stift

extends Object

Der Stift ist ein Werkzeug, das sich auf dem Bildschirm bewegen kann. Er befindet sich stets auf einer genau definierten Position des Bildschirms, 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 geaendert 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 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()` Der Stift wird freigegeben.
`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 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 Verfügung 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.

  Parameters:
    `pH` - neue horizontale Position des Stifts
    `pV` - neue vertikale Position des Stifts

### bewegeUm

    public void bewegeUm(double pDistanz)

  Der Stift wird von seiner aktuellen Position in die aktuelle Richtung bewegt.

  Parameters:
    `pDistanz` - Laenge der bewegten Strecke

### dreheBis

    public void dreheBis(double pWinkel)

  Der Stift wird unabhaengig von seiner vorherigen Richtung auf die durch Winkel angegebene Winkelgroesse gedreht.

  Parameters:
    `pWinkel` - neue Richtung des Stifts

### 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.

  Parameters:
    `pWinkel` - um diesen Winkel wird die Richtung des Stifts gedreht.

### 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.

  Parameters:
    `pWohinH` - horizontale Position des Punktes, zu dem die neue Richtung des Stifts zeigt.
    `pWohinV` - vertikale Position des Punktes, zu dem die neue Richtung des Stifts zeigt.

### get2DGraphics

    protected Graphics2D get2DGraphics(Graphics g)

  wird intern vor dem Zeichnen aufgerufen.

### gibFrei

    public void gibFrei()

  Der Stift wird freigegeben.

### hoch

    public void hoch()

  Der Stift wird angehoben.

### hPosition

    public double hPosition()

  liefert die horizontale Koordinate der aktuellen Stiftposition.

  Returns:
    die horizontale Position des Stifts

### istUnten

    public boolean istUnten()

  liefert, ob der Stift abgesenkt ist.

  Returns:
    true, wenn der Stift gesenkt 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 Zeichens. Die neue Stiftposition wird die rechte obere Ecke des Zeichens.

  Parameters:
    `pZeichen` - Zeichen, das auf den Bildschirm geschrieben wird.

### 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.

  Parameters:
    `pText` - Zeichenkette, die auf den Bildschirm geschrieben wird.

### 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 der Zahl. Die neue Stiftposition wird die rechte obere Ecke der Zahl.

  Parameters:
    `pZahl` - Zahl, die auf den Bildschirm geschrieben wird.

### 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 der Zahl. Die neue Stiftposition wird die rechte obere Ecke der Zahl.

  Parameters:
    `pZahl` - Zahl, die auf den Bildschirm geschrieben wird.

### setzeZustand

    protected void setzeZustand(Graphics2D g)

  wird intern vor dem Zeichnen aufgerufen.

### vPosition

    public double vPosition()

  liefert die vertikale Koordinate der aktuellen Stiftposition.

  Returns:
    die vertikale Position des Stifts

### wechsle

    public void wechsle()

  Der Stift arbeitet danach im Wechselmodus.

### winkel

    public double winkel()

  liefert die aktuelle Bewegungsrichtung des Stifts.

  Returns:
    die Richtung 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.

  Parameters:
    `pRadius` - der Radius des Kreises

### 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.

  Parameters:
    `pBreite` - die Breite des Rechtecks
    `pHoehe` - die Hoehe des Rechtecks

Overview | Package | Class | Tree | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD