diff options
| author | Florian Fischer <florian.fischer@muhq.space> | 2024-05-05 14:36:59 +0200 |
|---|---|---|
| committer | Florian Fischer <florian.fischer@muhq.space> | 2024-05-05 14:36:59 +0200 |
| commit | aed3ad2011483d36b1f6f6b772a6f300cb967cc0 (patch) | |
| tree | 7f1543b344bdd783db1d5b079dbd15b3e6a0bf34 /Info/10/2/Baelle/BlueJ_Projekt/Text.java | |
| parent | a91e3342f58a6476e17d9bd172f02b1c7cacf603 (diff) | |
| download | unterricht-aed3ad2011483d36b1f6f6b772a6f300cb967cc0.tar.gz unterricht-aed3ad2011483d36b1f6f6b772a6f300cb967cc0.zip | |
add Baelle project for simple inheritance
Diffstat (limited to 'Info/10/2/Baelle/BlueJ_Projekt/Text.java')
| -rw-r--r-- | Info/10/2/Baelle/BlueJ_Projekt/Text.java | 192 |
1 files changed, 192 insertions, 0 deletions
diff --git a/Info/10/2/Baelle/BlueJ_Projekt/Text.java b/Info/10/2/Baelle/BlueJ_Projekt/Text.java new file mode 100644 index 00000000..3fa1325a --- /dev/null +++ b/Info/10/2/Baelle/BlueJ_Projekt/Text.java @@ -0,0 +1,192 @@ +/** + * 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(); + } +} |
