194 lines
4.7 KiB
Java
194 lines
4.7 KiB
Java
|
|
/**
|
|
* Wrapperklasse für einen Text auf der Zeichenfläche.
|
|
*
|
|
* @author Albert Wiedemann
|
|
* @version 1.0
|
|
*/
|
|
public class Text
|
|
{
|
|
/** x-Position der linken Seite der Grundlinie. */
|
|
private int x;
|
|
/** y-Position der Grundlinie. */
|
|
private int y;
|
|
/** Farbe des Textes. */
|
|
private String farbe;
|
|
/** Sichtbarkeit des Textes. */
|
|
private boolean sichtbar;
|
|
/** Drehwinkel (mathematisch positiver Drehsinn) des Textes in Grad. */
|
|
private int winkel;
|
|
/** Größe des Textes in Punkten. */
|
|
private int textgröße;
|
|
|
|
/** Referenz auf das Delegate-Objekt. */
|
|
private Zeichenfenster.TextIntern symbol;
|
|
|
|
/**
|
|
* Der Konstruktor erzeugt das Delegate-Objekt
|
|
*/
|
|
Text ()
|
|
{
|
|
x = 10;
|
|
y = 10;
|
|
farbe = "schwarz";
|
|
sichtbar = true;
|
|
winkel = 0;
|
|
textgröße = 12;
|
|
symbol = (Zeichenfenster.TextIntern) Zeichenfenster.SymbolErzeugen(Zeichenfenster.SymbolArt.text);
|
|
symbol.PositionSetzen(x, y);
|
|
symbol.FarbeSetzen(farbe);
|
|
symbol.SichtbarkeitSetzen(sichtbar);
|
|
symbol.WinkelSetzen(winkel);
|
|
symbol.TextGrößeSetzen(textgröße);
|
|
}
|
|
|
|
/**
|
|
* Setzt die Position (der Grundline) des Textes.
|
|
* @param x x-Position der linken Seite der Grundlinie
|
|
* @param y y-Position der Grundlinie
|
|
*/
|
|
void PositionSetzen(int x, int y)
|
|
{
|
|
this.x = x;
|
|
this.y = y;
|
|
symbol.PositionSetzen(x, y);
|
|
}
|
|
|
|
/**
|
|
* Setzt den aktuellen Text.
|
|
* @param text der neue Text
|
|
*/
|
|
void TextSetzen (String text)
|
|
{
|
|
symbol.TextSetzen(text);
|
|
}
|
|
|
|
/**
|
|
* Setzt die Größe des Textes.
|
|
* @param größe die (neue) Textgröße
|
|
*/
|
|
void TextGrößeSetzen (int größe)
|
|
{
|
|
textgröße = größe;
|
|
symbol.TextGrößeSetzen(größe);
|
|
}
|
|
|
|
/**
|
|
* Vergrößert den Text.
|
|
*/
|
|
void TextVergrößern()
|
|
{
|
|
symbol.TextVergrößern();
|
|
textgröße = (int) symbol.size;
|
|
}
|
|
|
|
/**
|
|
* Verkleinert den Text.
|
|
*/
|
|
void TextVerkleinern()
|
|
{
|
|
symbol.TextVerkleinern();
|
|
textgröße = (int) symbol.size;
|
|
}
|
|
|
|
/**
|
|
* Verschiebt den Text um die angegebenen Werte.
|
|
* @param deltaX Verschiebung in x-Richtung
|
|
* @param deltaY Verschiebung in y-Richtung
|
|
*/
|
|
void Verschieben(int deltaX, int deltaY)
|
|
{
|
|
x += deltaX;
|
|
y += deltaY;
|
|
symbol.PositionSetzen(x, y);
|
|
}
|
|
|
|
/**
|
|
* Dreht den Text
|
|
* @param grad Drehwinkel (mathematisch positiver Drehsinn) im Gradmass
|
|
*/
|
|
void Drehen(int grad)
|
|
{
|
|
winkel += grad;
|
|
symbol.WinkelSetzen(winkel);
|
|
}
|
|
|
|
/**
|
|
* Setzt die Farbe des Textes.
|
|
* Erlaubte Farben sind:
|
|
* "weiß", "weiss", "rot", "grün", "gruen", "blau", "gelb",
|
|
* "magenta", "cyan", "hellgelb", "hellgrün", "hellgruen",
|
|
* "orange", "braun", "grau", "schwarz"
|
|
* Alle anderen Eingaben werden auf die Farbe schwarz abgebildet.
|
|
* @param farbe (neue) Farbe
|
|
*/
|
|
void FarbeSetzen (String farbe)
|
|
{
|
|
this.farbe = farbe;
|
|
symbol.FarbeSetzen(farbe);
|
|
}
|
|
|
|
/**
|
|
* Setzt den Drehwinkel des Textes.
|
|
* Die Winkelangabe ist in Grad,positive Werte drehen gegen den Uhrzeigersinn,
|
|
* negative Werte drehen im Uhrzeigersinn (mathematisch positiver Drehsinn).
|
|
* @param winkel der (neue) Drehwinkel des Textes
|
|
*/
|
|
void WinkelSetzen (int winkel)
|
|
{
|
|
this.winkel = winkel;
|
|
symbol.WinkelSetzen(winkel);
|
|
}
|
|
|
|
/**
|
|
* Schaltet die Sichtbarkeit des Textes ein oder aus.
|
|
* Erlaubte Parameterwerte: true, false
|
|
* @param sichtbar (neue) Sichtbarkeit des Textes
|
|
*/
|
|
void SichtbarkeitSetzen (boolean sichtbar)
|
|
{
|
|
this.sichtbar = sichtbar;
|
|
symbol.SichtbarkeitSetzen(sichtbar);
|
|
}
|
|
|
|
/**
|
|
* Entfernt den Text aus dem Zeichenfenster.
|
|
*/
|
|
void Entfernen ()
|
|
{
|
|
symbol.Entfernen();
|
|
}
|
|
|
|
/**
|
|
* Bringt den Text eine Ebene nach vorn.
|
|
*/
|
|
void NachVornBringen ()
|
|
{
|
|
symbol.NachVornBringen();
|
|
}
|
|
|
|
/**
|
|
* Bringt den Text in die vorderste Ebene.
|
|
*/
|
|
void GanzNachVornBringen ()
|
|
{
|
|
symbol.GanzNachVornBringen();
|
|
}
|
|
|
|
/**
|
|
* Bringt den Text eine Ebene nach hinten.
|
|
*/
|
|
void NachHintenBringen ()
|
|
{
|
|
symbol.NachHintenBringen();
|
|
}
|
|
|
|
/**
|
|
* Bringt den Text in die hinterste Ebene.
|
|
*/
|
|
void GanzNachHintenBringen ()
|
|
{
|
|
symbol.GanzNachHintenBringen();
|
|
}
|
|
}
|